[Don Cohen wonders why CLISP has its own implementation of LOOP.]
Oh well, we had those exact same arguments 5 or 8 years ago (was it 1998?) in this mailing list.
I'm quite in favour of multiple implementations of specifications (given that somebody already wrote the code). Diversity and the "Proposed ANSI clarifications" page on Cliki show that it helps to uncover holes in specifications. A single implementation is not enough for that. (Pythonists wouldn't care.)
>If others use that same code then you get to share that work with them.
Indeed, and pardon me for changing the subject one more time, I feel that CLX is a good candidate for this.
1. I forgot the reasons why there's both MIT-CLX and Gilbert Baumann's NEW-CLX in the CLISP source tree. Are there some applications that only work with one of them?
2. I know that Christophe Rhodes said recently in c.l.l that he considers sbcl's CLX to be the most bug free and improved one, given the number of CVS changes that it has received.
So there are at least 4 versions/releases of CLX being used (2 in CLISP, 1 in sbcl and a different one, according to Christophe IIRC in cmucl).
That's quite different from LOOP, as 3 out of 4 CLX come from the same source tree.
A merge of the MIT-derivative CLX would be a useful task IMHO. Clearly, I'm not qualified to judge this integration work as I've never ever used CLX (well, perhaps via Garnet, but it's so long ago).
From: Sam Steingold <sds@po...> - 2006-05-23 16:58:03
> * Hoehle, Joerg-Cyril <Wbret-Plevy.Ubruyr@...> [2006-05-23 18:48:52 +0200]:
> 1. I forgot the reasons why there's both MIT-CLX and Gilbert Baumann's
> NEW-CLX in the CLISP source tree. Are there some applications that
> only work with one of them?
NEW-CLX, being implemented in C, is faster than MIT-CLX.
it was written to run garnet reasonably fast and indeed that is just
about the only thing it has been tested with.
it is incomplete though, and we do need a C/Xlib/Lisp/CLX expert to
finish it and make sure it is fully compatible.
Sam Steingold (http://www.podval.org/~sds) on Fedora Core release 5 (Bordeaux)
When we write programs that "learn", it turns out we do and they don't.