On Mon, 2009-08-24 at 12:16 -0400, John Cowan wrote: > Thomas Lord scripsit: > > > I don't consider something like REQUIRE to be a module > > system but I do (e.g. slib) think it perfectly reasonable > > for libraries and appropriate to a language of small size. > > > > What is specifically not desirable in a small language > > is the hair of multiple top-level namespaces with exports > > and imports among them. > > God (or the Devil) is in the details, as always. I don't think the very > simple Chicken 4 module system is too expensive: see > http://chicken.wiki.br/man/4/Modules%20and%20macros#modules > > In short, it provides named modules that can export selected identifiers > or all identifiers. Within a module or at the top level, you can import > a module or selected identifiers, possibly excluding or renaming some, > and possibly prefixing all those imported. Very little hair, if not > completely glabrous.
If I understand it correctly, it is just like REQUIRE except that it can "hide" some tlds in a library. It doesn't appear to support things like renaming/aliasing. Is that right? Why not just stick to the much simpler REQUIRE and use naming conventions to distinguish exported from internal definitions in a library? Or just write libraries in a style (a traditional style, no less) with only exported bindings defined at the top level? There's nothing "of the essence" about the chicken module system. I presume it works very nicely in the context of Chicken but it seems kind of redundant and ad hoc and it adds implementation complexity - all of which I think disrecommends it for small Scheme. -t _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
