On 13-Aug-07, at 5:42 AM, Marijn Schouten (hkBst) wrote:
Marc Feeley wrote:
The Scheme community will fragment and Scheme innovation will slowly die.
Are we not already fragmented?
I should have said "fragment more".
There is no agreed upon standard way to even load SRFIs.
SRFI-55 [http://srfi.schemers.org/srfi-55/srfi-55.html] defines require-extension to provide this functionality. Below you will find a simple test. Note in particular that Bigloo, Gambit and MzScheme all fail to provide this functionality, just like ELK, mit-scheme and scm. Only Chicken, Gauche, Guile and stklos pass. I was under the impression that R6RS aimed to solve this problem (but I may be wrong) and I am willing to swallow whatever else has been put in if it does.
You seem to believe that if R6RS is ratified, whatever it specifies will be adopted by the above Scheme implementations and that this will allow users like you to write libraries that are portable to all those implementations. But Bigloo, Chicken, Gambit, ELK, MIT-scheme, SCM and STklos will almost certainly not adopt R6RS. So currently SRFI-55 is even more portable than I expect R6RS will ever be.
Note that SRFI-55 works fine with Gambit if you load syntax-case first, like this:
% gsi -e '(load "~~/syntax-case")' -e '(load "srfi-55.scm")' -
A simple change to the reference implementation (replacing define- syntax by define-macro) will make it work without having to load syntax-case.
Marc