[REBOL] Re: About CONTINUATIONS
From: robbo1mark:aol at: 24-Feb-2002 15:27
Joel / Chaz,
I'm not sure about this one as I don't have first hand knowledge, but did Joe Marshall
put Continuations in REBOL 1.x or were they part of Carl Sassenraths original design
for the REBOL language?
Even if Joe Marshall was lead implementor I'm certain that nothing would go in without
Carl's approval.
If they were deemed an important and interesting enough feature to be in the first release
of the product then presumably this was the view taken by the lead implementor AND language
designer.
Whilst continuations are a tricky concept to come to terms with initially and joe average
user won't bother to learn about them it doesn't mean that they are not a desirable language
feature. In my opinion they ARE definitely on a list of desirable language features.
Do I wish they were still in REBOL? probably YES.
Continuations make loads of intersting and advanced things possible without detracting
anything away from the user / programmer who doesn't use or understand them.
Scheme and Common Lisp both have them and so does Stackless Python and ML. There is loads
of interesting Comp Sci literature on continuations and they are a well understood and
used feature for advanced programming in the above languages, especially in the field
of modelling concurrency and parallel programming.
They interest me that's why I wish REBOL still had them.
Having read Joe Marshall's cons regarding continuations I don't think it was necessary
to throw the baby out with the bath water in the change over to REBOL 2.x when we lost
continuations and tail call optimisation.
From what I can see they didn't fully explore the continuation model to it's full extent,
Joe Marshall states as such. Iam sure there is a LOT they could have learned from advanced
Scheme & ML implementations which STILL have these features. These languages are not
SO fundamentally different from REBOL which is at it's core a prefix functional language.
This is all theoretical but raises some interesting issues regarding language design
and implementation.
I was a bit disturbed that Joe Marshall stated that with his implementation "nobody else
in the company could extend the interpreter.." SURELY NOT? What about Carl Sassenrath?
Also "You need a degree in Comp. Sci from a few select places to really understand all
this.." IS THAT A PROBLEM? Is there anything wrong with that?
I don't think these points are valid, the literature is readily available that discusses
and has SOLVED a lot of these thorny problems. SCHEME and ML have efficient interpreters
AND optimising compilers and fast incremental compilers using various implementation
techniques which explore and attempt to / SOLVE the problems Joe Marshall highlighted
in relation to REBOL.
The solutions *ARE* there if you take the time to learn and understand them.
However I'm sure Carl & RT had other goals for REBOL 2.x like "speed" which they considered
to be of higher precedence and importance.
It's a pity when a language loses capabilities or features as it closes of some doors.
Can a Language Designer / Implementor foresee all the possible uses or interesting applications
of their creation? Of course not!
Maybe the Comp. Sci people at those "select places" could provide some insights into
solving those problems and we get back the languages feature that were lost!
That's my wish for REBOL 3.x
cheers,
Mark Dickson
In a message dated Fri, 22 Feb 2002 8:03:52 AM Eastern Standard Time, Joel Neely <[joel--neely--fedex--com]>
writes: