Micro and Macro

A micro is an untyped constant. It can be referenced by name in place of a constant value.

   local Dot |= '.',
         S = Dot   string,    &Initialize the string to '.'.
         C = Dot   byte       :Initialize the byte to the character dot.

A macro is an expression that is substituted in the place where it is referenced. They are declared using a functional notation and can have parameters as well. Macro parameter names begin with a dot.

   local Square( .a ) => .a ^ 2

   Z = root( Square( X ) + Square( Y ) )

Macros are implicitly wrapped in parenthesis before they are substituted.

Primitive Type

Pointer Variable