- From: Andy Latto <andyl@harlequin.com>
- Date: Wed, 30 Apr 97 14:37:52 EDT
- To: papresco@calum.csclub.uwaterloo.ca
- Cc: davidp@earthlink.net, www-style@w3.org
From: Paul Prescod <papresco@calum.csclub.uwaterloo.ca> Date: Tue, 29 Apr 1997 18:02:58 -0400 (EDT) Well, the spec [DSSSL] is an ISO spec. It contains all of Scheme, for instance, for those that need an escape hatch to something programmatic. It most certainly does not contain all of Scheme. Particularly important omissions are set! and call-with-current-continuation. This is not just nitpicking on my part about a couple of forms that happen to be omitted. The designers of Scheme adopted a minimalist approach to language design, prefering one simple, clean, way to accomplish a given task to multiple ways, even if the multiple ways would all be useful, as long as the multiple ways can all be implemented in terms of one simple language construct. So dozens of potentially useful control flow constructs were omitted from Scheme, not because the designers of Scheme thought that these constructs were a bad idea, or that they weren't useful, but because they can all be constructed easily from call-with-current-continuation. And set! isn't just a single special form that is being omitted in DSSSL: there is a dramatic difference between purely functional languages like DSSSL and languages with assignment and side effects like Scheme. DSSSL has a scheme-like syntax, and many of the functions in these two languages have the same names. But DSSSL does not contain all of Scheme; it is in fact a dramatically different language than Scheme. Andy Latto andyl@harlequin.com
Received on Wednesday, 30 April 1997 14:38:58 UTC