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

RE: A plea for a new old language



Brent Fulgham wrote:

> Dan is talking about VM developers working *with him* on Parrot.

Ah; finally this is all clear.

I would argue that understanding continuation-passing style is a lot
easier than understanding continuations.  As someone (Avi?)  commented
earlier today, it's not that hard to explain that you're passing an
argument like a callback -- and not that difficult for a reasonable
programmer to understand it.  You would need some finger exercises to
get them comfortable with it, and any programming course that teaches
CPS is teeming with these (eg, converting FILTER and an invocation of
it) -- just translate the examples to your favorite language.

One problem with CPS is that it's truly a global transformation, and
if someone lapses locally, someone else may pay for it later: what you
don't know *can* hurt you.  Dan needs to be very clear on the coding
standards; he needs to trust that the programmers he brings on board
are willing to undergo the pain of using CPS (hard to do in an Open
Source project).  Most usefully, he probably needs to write a tool to
check for violations.

That said, I still don't see that an understanding of CALL/CC
continuations is necessary or even particularly useful for
understanding programming in CPS.  Indeed, in years of teaching both
topics, I have always seen going from CPS to CALL/CC much easier
than the reverse.  So Dan's in luck.

Shriram