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

Reply via email to