This is the mail archive of the guile@sourceware.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: New module system wishlist


Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:

> As a result of discussing with Shriram, here are some further points
> to consider (after we have figured out exactly what they mean :).

aha.  now that I see that not it's not only me who's looking at
MzScheme with interest, how about...

basically, what I want is a kind of MzScheme's "unit" system, but
simplified, GOOPS'ified and with optional "abbreviated" interface.

1) simplified: there's no need for the non-signed units.  I guess they
   are nice for writing papers about, but Guile doesn't need them,
   IMHO.

2) GOOPS'ified: signatures (er, interfaces) are just classes (perhaps
   of some special metaclass, but there's really no need to specify
   that).

3) abbreviated interface: what I mean is just thin layer of macrology
   & naming & placing convention, i.e. a package system.  example:

${guile_data_prefix}/modules/foo/_module-info.scm:
(module #:import-module 'bar
        #:export (foo-init foo-do-things foo-close)
        #:files (one two three))

where (#:import-module 'bar) is an abbreviation for: (#:import
(pkg-signature 'bar) #:src (pkg-vicinity "bar")), where pkg-* thingies
are functions defined in the special PKG unit or somesuch.

if somebody says that I'm *not* on crack, I'll happily elaborate on
the above tomorrow (have to run now).  or just discuss ;)

--mike, with an accidentally appropriate signature

-- 
The whole idea of modules is so separatist, anyway.  Can't we all just
get along?                                               -- Jim Blandy

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