[net.lang.lisp] Life in net.lang.lisp

rartym@cybavax.UUCP (Richard Artym) (12/10/84)

[gobble this line, not the rest please]

	Is there life in this newsgroup?  Speak up!
	(Lispkit will do!)
-- 
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
> Rich Artym, Elec.Eng., Univ.College of Swansea, Swansea SA2 8PP, Wales, UK. <
>  UUCP : {UK}!ukc!ru-cs44!cybavax!rartym ; JANET : rartym@swxa/234207920018  <
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

mccaugh@uiucdcs.UUCP (01/01/85)

 Yes, if you can call it that--life thrives hereabouts...though ofttimes
 conditions mandate perspicuity. Now, if LISP is so computationally com-
 plete, it should not be such a chore to implement coroutines. Without
 the obvious resort to machine-language implementations of "resume" or
 C-level SWITCH statements, how can this be done in pure LISP? (That it
 can be done oughtn't to be the question, if LISP is computationally com-
 plete.)
   If this can NOT be accomplished in pure LISP, a proof would be warmly
 welcomed (as evidence that LISP is not so computationally complete).
 --uiucmsl!mccaugh

shebs@utah-cs.UUCP (Stanley Shebs) (01/04/85)

I don't know exactly what "pure Lisp" is supposed to be - I've
seen several definitions floating around.  There are at least
two main flavors.

The simpler version of Lisp does not have functions as first-class
objects.  Implementations include such dialects as Maclisp, Franz,
and PSL.  In these dialects, there is no good way to do coroutines
(except by brute force, amounting to building your own specialized
interpreter).

The better versions of Lisp have promoted functions to first-class
status.  The data objects themselves are called *closures* (essentially
a lambda expression + a context).  Implementations include
Scheme (the grandaddy), Scheme84, T, Common Lisp, and 3-Lisp.
Coroutines are ridiculously easy - just build the function
corresponding to the remaining computation (usually called
a *continuation*), save it somewhere, then call the other coroutine's 
continuation.

						stan shebs
						(shebs@utah-cs)