Hello Guilers, Andy Wingo <wi...@pobox.com> writes:
> On Sun 24 Jan 2010 18:53, Julian Graham <jool...@gmail.com> writes: > >> As mentioned in an earlier email [0], I've been working on >> implementations for the libraries that make up the so-called R6RS >> Standard Libraries [1], along with test suites. Where possible, I've >> tried to wrap existing Guile functionality instead of writing things >> from scratch. Speaking optimistically, I think I'm about 80% of the >> way there (minus the test cases). There are quite a few files, so, to >> facilitate review, I've uploaded them to my web site [2]. There's >> also an updated copy of the `(ice-9 r6rs-libraries)' module there, >> which resolves a couple of issues present in the most recent version I >> submitted to the list. >> >> What do people think? > > Excellent hacking! +1 :-) >> 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. My >> thinking is that the primary utility of most of these libraries lies >> in the cross-Scheme compatibility they provide, and thus they're not >> of particular interest to users writing code intended only for Guile. >> In cases where there's actual new functionality, such as with the >> bytevector features, a Guile module representation is probably more >> useful. > > Agreed. Though if ‘library’ expands to ‘define-module’, R6RS modules will also be readily usable as if they were “regular” guile modules, right? > 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’? Thanks, Ludo’.