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: A new module system for Guile



> This is all very well, but off the top of my head, using the file
> system as a name space for modules seems like a pretty bad idea

Umm. Can you explain why? Scheme48 and Java use the same technique.

(define-structure boot ... (files (ice-9 boot-9)))


> That "." notation seems pretty suspect too

We'll have to provide (module-ref boot id) for backward compatibility. But
technically speaking `boot.id' is a) faster since it is not necessary to
intern `boot' and `id' in weak_symhash just to throw them away later; neither
`boot' nor `id' is a symbol in the current obarray. And b) it is a more
general approach:

(set! boot.id 12)
(if (= boot.id 12) ...

instead of

(module-set! boot id 12)
(module-ref boot id)

And since the same syntax is used in other modern languages I just
think it is a good idea to use it in guile, too. :)


Jost