This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: New module system wishlist
- To: Mikael Djurfeldt <mdj at mdj dot nada dot kth dot se>
- Subject: Re: New module system wishlist
- From: Michael Livshin <mlivshin at bigfoot dot com>
- Date: 23 Jan 2000 15:30:39 +0200
- Cc: Mikael Djurfeldt <djurfeldt at nada dot kth dot se>, guile at sourceware dot cygnus dot com
- Organization: who? me?
- References: <E12AixQ-00062S-00@mdj.nada.kth.se> <xy7snzp3rcl.fsf@mdj.nada.kth.se>
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