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] |
Sorry this sounds a little scrambled, I'm sitting graveyard shift in Japan. Jost> /ftp@ftp.tfh-berlin.de:/pub/incoming/module.tar. This address doesn't seem to have an FTP server at the moment. It translates to lnx05.tfh-berlin.de and then gives "service not available". Jost> It is a full featured module system that uses separate name Jost> spaces (every module has its own obarray), total ordering Jost> based on the unix file system abstraction (module Jost> "peter/test" is differend from "hugo/test"), and is very Jost> small and simple. I wasn't able to get the patches, these comments may be moot. If I understand your example, "module" is quite similar to "define-module" in the current system, except that it takes a unix file like module name. For backward compadibility, it would be nice if you could keep the same high level user interface with lists that specify the module name rather than strings that look like files. I also think that the module lists (ie '(peter test) instead of "peter/test") look more schemish, but it's purely subjective. Do you intend to define "define-module" on top of "module"? Same comment for "define*" vs "define-public", it's nice to keep compatibility. Personally I prefer using "define" and "export". Can "export" be incorporated? If I read you example correctly, to access a variable in another module you use a syntax like: (define somewhere (module* "over/rainbow")) (display somewhere.there) This would display variable "there" in "over/rainbow". I like the way you have module* return a value to refer to the module (I assume it's the obarray), but the "somewhere.there" syntax seems a little "Cish". How about something like: (define somewhere (module* '(over rainbow))) (display (module-ref somewhere there)) or for the terse (display (@ somewhere there)) Speaking of "terse", use-module or with-module is a little more discriptive that module*. It's really good to get a peek at the new module system. Thanks Clark