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

Re: A plea for a new old language



"Brent Fulgham" <brent.fulgham@xpsystems.com> writes:

> How can Dan expect other Parrot developers (of the virtual machine)
> to help develop code in CPS (for the virtual machine) if they don't
> understand/trust the continuation constructs he plans to be passing
> around within the VM (which they will have to be able to handle, or
> process, or frob, or whatever)?

I see two basic strategies Dan can take here.

The "go with the flow" strategy works like this: If the developer base
hates to study and understand an established technique like CPS, and
would prefer to reinvent things, then reinvent CPS.  Don't call them
continuations.  Call them quickjumps or something.  I would advise
against "callback," which a lot of people first encounter with GUIs,
thus associating them with slowness.  Developers will eagerly pick up
this cool new "quickjump" concept and extol its benefits.

Downside is you'll feel slimy for not being totally honest, and there's
always the possibility that one person will pipe up with, "Hey, isn't
this just CPS?"

I would recommend a "take the reins" strategy.  Explain clearly the
benefits of CPS.  Explain that it's a much simpler concept than the one
involved in ((call/cc call/cc) (call/cc call/cc)).  (My brain hurts
every time I think about that one.)  Whoever is with you is with you;
whoever doesn't want to do it can leave.  Nobody's irreplaceable.  I'm
sure there are lots of good developers out there who would love to be
part of the Parrot development team.  And anyone who maintains the CPS
discipline will wear it as a badge of honor.

RMS managed to get a lot done without being afraid to offend people.  If
you think CPS is the way to go, assert yourself.  In the end you'll gain
a lot of respect, plus a way cool VM.

-- 
<brlewis@[(if (brl-related? message)    ; Bruce R. Lewis
              "users.sourceforge.net"   ; http://brl.codesimply.net/
              "alum.mit.edu")]>