7.7
6 Definitions
This library is unstable
;
compatibility will not be maintained.
See Unstable: May Change Without Warning
for more information.
(require unstable/define) | package: unstable-lib |
Provides macros for creating and manipulating definitions.
syntax
(at-end expr)
When used at the top level of a module, evaluates expr at the end of
the module. This can be useful for calling functions before their definitions.
Examples:
> (module Failure scheme (f 5) (define (f x) x)) > (require 'Failure) f: undefined;
cannot reference an identifier before its definition
in module: 'Failure
> (module Success scheme (require unstable/define) (at-end (f 5)) (define (f x) x)) > (require 'Success)
syntax
(in-phase1 e)
Executes e during phase 1 (the syntax transformation phase)
relative to its context, during pass 1 if it occurs in a head expansion
position.
syntax
(in-phase1/pass2 e)
Executes e during phase 1 (the syntax transformation phase)
relative to its context, during pass 2 (after head expansion).