[r6rs-discuss] Counter-proposal (Re: Proposed features for small Scheme, part 9: modules)

John Cowan cowan at ccil.org
Thu Oct 15 00:39:05 EDT 2009


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       cowan at ccil.org
ours, only more of it consists of Toronto.          http://www.ccil.org/~cowan
        --Ursula K. Le Guin, Changing Planes



More information about the r6rs-discuss mailing list