Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
== Outdated egg! This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for [[/eggref/5/begin-syntax|the CHICKEN 5 version of this egg]], if it exists. If it does not exist, there may be equivalent functionality provided by another egg; have a look at the [[https://wiki.call-cc.org/chicken-projects/egg-index-5.html|egg index]]. Otherwise, please consider porting this egg to the current version of CHICKEN. [[tags: egg]] == begin-syntax [[toc:]] == Description This is a small extension that allows for inline macro operations. The source for this extension is available [[https://git.foldling.org/chicken-begin-syntax.git|here]]. == Usage <syntax>(begin-syntax EXPR ...)</syntax> Evaluates its body and immediately inserts the final result into the program, as though by macro expansion. If the result is a macro transformer, then this is immediately invoked with no arguments and the result is inserted into the program. '''Note that in this case the final expression of the {{begin-syntax}} body will be evaluated twice'''. This form can be thought of as a macro definition followed by its immediate expansion, for example: <enscript> (begin-syntax '(+ 1 2)) ; => (let-syntax ((a (er-macro-transformer ; (lambda (_ _ _) '(+ 1 2))))) ; (a)) </enscript> == Author [[/users/evan-hanson|Evan Hanson]] == License 3-Clause BSD
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you subtract 6 from 6?