This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Module system


Just my 2c thought: please do not differentiate between publicly defined
variables and private ones. I mean that it should be two different
actions the "assignment of a variable", such as in

(define a 1)
(define b "hola")

and the publication of it for the outside world, maybe with something
like

(public a b)

That should aid to R4RS compliant code away from extensions. And because
of the same reason I would suggest that module code be *not* inside a
single list as in (module "my-module" (statement-1) (statement-2)...),
but to leave module declarations as a sort of pragmas that delimit the
scope:

(module "my-module")
(public a b)
(define a 1)
(define b "hola")

This way it should be even possible to distribute bytecompiled Scheme
code plus a module declaration file with just a (module...) and the
(public...) directives, and even to code several modules in a single
text file, as in ADA.

Regards

        Juanjo