Greets, On Mon 25 Jan 2010 18:37, l...@gnu.org (Ludovic Courtès) writes:
> Andy Wingo <wi...@pobox.com> writes: > >> On Sun 24 Jan 2010 18:53, Julian Graham <jool...@gmail.com> writes: >> >>> One point that may be of interest is that I've chosen to provide the >>> code in the form of R6RS libraries rather than Guile modules. > > Though if ‘library’ expands to ‘define-module’, R6RS modules will also > be readily usable as if they were “regular” guile modules, right? `library' does expand out to `define-module', and yes R6RS modules are usable as "regular" guile modules. >> I also think we should have `library' and `import' in the basic >> environment. > > The global environment is already a crowded place, and having these > forms globally may make it harder to maintain backward compatibility in > the future, should R15RS have an incompatible ‘library’ form, for > instance. > > How about having a special module and a command-line option, just like > we have ‘--use-srfi’? I'm sympathetic, but I think you're overstating the situation. New Scheme revisions don't come but every 5 or 10 years. I'm sure we've already broken with R3RS. We can always provide specific back-compatibility modules, but the default should work, if possible, with the current state of Scheme. (Assuming we can implement R6RS, that is.) Beyond that, we're just talking about two identifiers. R6RS modules themselves *explicitly* declare what they import, so maintaining compat for them is much easier than maintaining compat for Guile modules, at least Guile modules that aren't #:pure. Yes, the names are a burden on the namespace, but I don't think they're "creeping", in the sense that they will expand in the future. If you're dead-set against r6rs support by default, that's cool. But if not, have I managed to convince you that we should have these by default? :) Cheers, Andy -- http://wingolog.org/