Arthur A. Gleckler scripsit: > What does Chicken do?
I am not the (or even an) implementer, but I believe that "module" in Chicken is not a macro, but primitive syntax. All it does is to make any definitions use magic names of the form "modname#truename". When the module is imported, the "modname#truename" names are located and aliases are constructed for them in the current context. A Chicken module is not an implicit begin. In particular, the semantics of the forms in a module body are exactly the same as those of the REPL: they are read and eval'ed (or the compiled equivalent) one at a time. Only the usual kind of forward references are allowed: undefined identifiers generate a warning and are treated as variables, never as syntax. -- While staying with the Asonu, I met a man from John Cowan the Candensian plane, which is very much like [email protected] ours, only more of it consists of Toronto. http://www.ccil.org/~cowan --Ursula K. Le Guin, Changing Planes _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
