- All Implemented Interfaces:
- gnu.kawa.format.Printable, Named
public class define
extends Syntax
The Syntax transformer that re-writes the "%define" internal form.
This is used to implement define, define-private, and define-constant.
Syntax: (%define name code type value)
.
The name
is an identifier (String
or
Symbol
) or Declaration
.
The code
is an integer mask,
where 1 means type specified, 2 means a function definition,
4 means private, 8 means constant, 16 means an early constant.,
and 32 means a fluid variable (define-variable).
As a special case, define-procedure is 1+2+8+16=27
The type
is the declarated type ornull
.
The value
is the initializing value.