Over on comp.lang.scheme:
we will write
macros that do the things that the R5RS macro system has sought to
prevent. This article will also show how to 're-define' a lambda form
while still keeping the original 'lambda' available. The redefined
lambda acts as if it was infected by a virus, which propagates through
the lambda's body infecting other lambdas in turn. Although we will be
re-defining all binding forms, we will preserve the semantics of
Scheme as given in R5RS.
Are Scheme macros too restrictive or are they too expressive? Interesting demonstration, whatever your opinion.
Posted to functional by Ehud Lamm on 4/5/02; 2:22:06 AM
|