Peter Bex scripsit:

> Yes, this is according to spec.  Macros aren't first-class, so whenever
> you use the same identifier in a non-application context it will look up
> the identifier in the runtime environment.  In application context it
> will check the syntactic (compile-time) environment first.

But not when it is shadowed -- in that case, the old definition is
invisible whether it is a syntax definition or a variable definition.
R5RS doesn't have anything to say about redefinition of identifiers
with define, which is the case that doesn't work in Chicken.  In R7RS,
redefining a syntax keyword is supposed to eliminate the syntax definition
(but not retroactively, of course).

-- 
John Cowan          http://www.ccil.org/~cowan        co...@ccil.org
The man that wanders far from the walking tree
        --first line of a non-existent poem by me

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to