This may not be my place, but just a thought on module systems since we're discussing the future of them.
Am I the only one that would like to see Scheme48's module system become the de-facto standard? I know that's a pipe dream, but after fiddling around with it, it's the only one that really makes sense (there are many I haven't used, but that's also what I hear from a few others). I'm not even sure what Scheme48's take on conforming to either R6RS or ERR5RS is, because it definitely wouldn't forego its module system. I suppose it could build a compatibility layer of some sort.
I know hygienic macros are hard - but from what I know Snow doesn't even attempt to fix the problem of cross-module macros (I think it only fixes loading macros from compiled modules). I like how Snow handles versioning though, but I'd like to see some of the deeper problems addressed in a module system (hygienic macros, reflective tower, etc.).
On Feb 1, 2008 6:13 AM, Adrien Pierard pierarda@iro.umontreal.ca wrote:
On Tue, Jan 29, 2008 at 11:29:19PM -0500, Joe Hosteny wrote :
Also, does anyone have a feel for what is going on with Snow? It
seems like the traffic on the mailing list is a bit slow, and the number of packages is still relatively few. Don't get me wrong - my
Since R6RS and ERR5RS both provide modules/libraries/else, shouldn't we focus on the latter, and use the implementors lobby to insert some cond-expand in the library and therefore, define the new de-facto standard for portable code?
(library (foo) (export x) (import (err5rs)) (define (my-fun x) (cond-expand (gambit (if (version< (current-version) "4.1.2") (error "Need at least gambit 4.1.2") (+ x 1))) (else (error "Sorry, this code currently runs on Gambit only")))))
This raises the issue of the fork of Scheme (ERR5RS), whereas Snow is intended to be Scheme compatible (R4RS), but could be a solution.
This could somehow enforce a common framework for portable code for the next release of Scheme that is supported by at least 60% of *implementors*, wouldn't it? We could then use Snow as the global repository for all this code, and require SRFIs implementors upload their reference implementation on this new Snow...
Adrien
-- "I am not a Church numeral; I am a free variable!" (The Scheme Underground) For every complex problem, there is a solution that is simple, neat, and wrong.
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list