swirl
Guide to OmniMark 7   OmniMark home
docs home 
IndexConceptsTasksSyntaxLibrariesLegacy LibrariesErrors
 
  Related Syntax    
declaration/definition  

elsewhere

 
 

Syntax

  define function function-name (local declarations)*
     elsewhere


Purpose

Provides a structure to allow mutually recursive functions to call one another.

To support this, OmniMark provides a function "pre-definition", which looks like a function definition with no body. Instead of using as with a set of local declarations and actions, the definition elsewhere is used.

Functions must be defined or pre-defined before they are used. For mutually recursive functions, one or more of the functions must be pre-defined prior to the first actual function definition.

The argument names in elsewhere definitions don't have to be the same as in their later definitions.

elsewhere definitions no longer need to and shouldn't specify initial values for their optional arguments. initial values should only be specified on the "proper" definition of a function.

For backwards compatibility, optional arguments on elsewhere definitions of functions properly defined later can have an initial value, but only if all specifications of that initial value are static not dynamic values, and only if all the values are the same.

    Related Syntax
   define function
 
 
 

Top [ INDEX ] [ CONCEPTS ] [ TASKS ] [ SYNTAX ] [ LIBRARIES ] [ LEGACYLIBRARIES ] [ ERRORS ]

OmniMark 7.1.2 Documentation Generated: June 28, 2005 at 5:45:12 pm
If you have any comments about this section of the documentation, send email to [email protected]

Copyright © Stilo Corporation, 1988-2005.