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

Re: CPS in Parrot



>>>>> "Dan" == Dan Sugalski <dan@sidhe.org> writes:

Dan> It doesn't help that many of the folks publicly advocating
Dan> continuations tend to be a little... odd, so when you do run across a
Dan> paper or proposal, your first impression is that the author's either
Dan> mad or doing the CS equivalent of particle physics.

Dan> Not true for everyone, certainly -- a lot of people never get taught
Dan> anything about continuations, and all they know about them is that
Dan> most folks think they're Deep Black Magic.

Sorry for jumping late into the discussion ... but I'm totally
confused by your use of terminology here.  (Which is important when
you're talking about how to teach this stuff to people.)

There's all this talk about "adding continuations" to Parott.  I don't
see how you can implement most any programming language (including C
and BASIC) *without* continuations.  Only a continuation is called a
"control stack" or something in most of the rest of the world.

I suspect you really mean "first-class continuations," but you're not
helping people coming from a C/Perl/whatever mindset trying to
understand this thing if you treat continuations in general as
something weird: People are generally plenty familiar with the concept
of continunations (just under another name).  They get confused by
first-class continuations because they are impossible to imagine in
the "one stack" mindset that usually comes with that background.

The bottom line is the first-class continuations require different
kinds of explanations depending on your target audience.  I once wrote
a tutorial on CALL/CC for Emacs Lisp hackers which people told me is
pretty helpful:

http://www-pu.informatik.uni-tuebingen.de/users/sperber/xemacs/next-generation/call-cc-for-elisp-hackers.html

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla