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
