2009/9/4 John Cowan <[email protected]>:
> Ben Goetter scripsit:
>> John Cowan wrote:
>> >
>> >R4 is very nearly dead; the implementations that only
>> >support R4RS are pretty much unmaintained.
>> Stalin is unrepentently R4RS, and it is still maintained.  Last release
>> 2 Oct 2006.
>
> Three years is a long time in Internet time.  And Stalin is manifestly
> a dead end: it does what it does, but it's a nightmare to maintain for
> anyone but the author,

I knew this was going to come up. Jeff has passed on the maintenance
of Stalin to another group now so looking to him for the latest
releases will give you wrong data. And it is most certainly not a
dead-end, my own (currently NDA'd) research efforts are heavily based
on it's ideas.

> especially given that the internal documentation
> consists of "LaHaShem HaAretz U'Mloah" at the beginning and "Tam V'Nishlam
> Shevah L'El Borei Olam" at the end of each source file. :-)

And in between is some surprisingly clear code once you get used to
programming Scheme without type-punning. And frankly, my experience in
industry is that no amount of documentation can make up for poor
programming style, whereas perspicuous code needs very little
documentation in the first place.

> Still, someone could provide Stalin with a preprocessor that did
> syntax-rules and added support for (probably) everything in R5RS except
> dynamic-wind.

I did that, and included SRFI-9 into the bargain as well so that I
could get Stalin's type optimizations to work well. I did not bother
with DYNAMIC-WIND as it is evil and has been adequately shown to be
entirely implementable in terms of non-winding CALL/CC.

> (Multiple values would have to cheat, as is the case in
> chibi-scheme, where values returns a list of values with a unique object
> in the car, and call-with-values merely checks for this.)

Multiple values is problematic in so many ways - mostly because
procedure application semantics are broken w/rt CALL/CC. You are much
better off using an explicit continuation passing style. SO NO, I did
not implement multiple values for Stalin.

david rush
-- 
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to