[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A plea for a new old language




For what it's worth, I find CPS to be easier to understand than scheme
continuations.  The word "continuation" (on this list, anyway) is usually
used to mean "first-class continuations, reified as a separate language
construct" i.e. what call/cc in scheme allows you to manipulate.  This
enables some truly brilliant coding idioms, and also some truly
hard-to-understand ones.  This is why people are scared of it.  If you
can't even be sure of where a function is going to return, what *can* you
be sure of?  It's like having the rug pulled out from under you.

CPS, on the other hand, only really requires first-class functions and tail
calls, which parrot already will have, right?  How you *use* those
first-class functions and tail calls may seem very opaque to some of your
intended users, but you don't have to make a big deal about it i.e. "this
is what computer scientists refer to as continuation-passing style; all
this means is ...".

So I'd say just go for it if it makes your life any easier.

Mike (downloading the thesis that Shriram referred to that may invalidate
everything I just said)

P.S. Parrot is very cool.  It's one of the coolest projects I've seen in a
long time.  I think it's something the community should get behind.



> Date: Wed, 7 May 2003 13:13:53 -0400
> From: Dan Sugalski <dan@sidhe.org>
> 
> At 12:09 PM -0400 5/7/03, Shriram Krishnamurthi wrote:
> >Dan:
> >
> >I'm confused by your message.
> >
> >The use of CPS is orthogonal to the presence of continuations:
> 
> Right, but for people to understand CPS, they must understand 
> continuations. That was the point--most folks, right or wrong (OK, 
> wrong, but still), understand continuations as this nebulous, scary 
> thing. I want to use CPS, and for that I must have a developer base 
> not scared of continuations, which means I need, or at least want, a 
> language that people aren't scared of that presents continuations.
> 
> >PS: Ruby has continuations, as do some variants of Smalltalk.  So that
> >     should satisfy your needs.
> 
> I know about Ruby--I did mention that in the original message. At the 
> moment Ruby lacks the mindshare penetration, and continuations are, 
> so far as I've seen, generally ignored in it. Smalltalk doesn't fit 
> the bill--given that it's nearly as old as I am, if it did fit I 
> wouldn't have to ask. (I do wish it, or Lisp, or Scheme, would be 
> enough, but they aren't)
> -- 
>                                          Dan
> 
> --------------------------------------"it's like this"-------------------
> Dan Sugalski                          even samurai
> dan@sidhe.org                         have teddy bears and even
>                                        teddy bears get drunk
>