[r6rs-discuss] R6 counterproposal
samth at ccs.neu.edu
Fri May 25 23:12:41 EDT 2007
On 5/25/07, Thomas Lord <lord at emf.net> wrote:
> Sam TH wrote:
> > In which version of the Scheme report did first class environments
> > appear? Fexprs?
> None but you can see the power of (a weaker variation on the proposed)
> FEXPRs in SCM.
And yet, hygenic macro systems such as syntax-case have been widely
adopted in the Scheme community.
> You can get a hint of the potential of environments
> from MIT Scheme.
And yet, much more static module systems such as those of Chez Scheme,
PLT Scheme and Scheme 48 have been adopted by the Scheme community.
If you expected the R6RS process to result in an entirely new Lisp
dialect, which bore little resemblance to the major Scheme systems in
use today, then you had wildly unrealistic expectations.
> Honestly, entering the Scheme scene around R3 or R4 I had the impression
> that, by the time of something like R6, things would have gone in these
> obvious directions.
Perhaps others felt these directions were less obvious, or even detrimental.
> I'm really quite struck, by the way, at how Scheme has languished
> in the real-world HLL wars, losing to such less disciplined efforts like
> Python, Lua, Ruby, etc.... all of which seem to have in common (and
> that has a big impact on the kinds of innovation that drives them) that
> they have prototype-based object systems.
This account of history has the major flaw that none of the languages
you list have prototype-based object systems. Also, the major
class based object system in its next release.
As to why Scheme has 'languished', a quite famous essay on the
adoption of technology was written a while back, with Scheme as a
primary example. I suggest consulting it.
> That those are pragmatically
> identifiable as first-class mutable environments in Scheme, and that
> such a feature can also be arrived at in independent ways, suggests to
> me it is a very natural direction for the language to take.
First class environments are very different from prototype based
object systems. For instance, the latter can be easily implemented in
Scheme, without disturbing the rest of the language. The former
> It's ironic that we've recently seen (on c.l.s.) a long thread debating
> the exact meanings of terms like JIT compilation, incremental
> compilation, etc...... Had Scheme been liberalized in the direction
> of FEXPRs and first class environments a few years back, by now,
> there'd be a lot of interesting R&D in on-line incremental compilation
> of Scheme.
If you think the adoption of FEXPRs would have avoided pointless
terminology debates on Usenet, I have some high value property you may
be interested in.
samth at ccs.neu.edu
More information about the r6rs-discuss