[Bese-devel] Learning Lisp

Drew Crampsie drewc at tech.coop
Wed Sep 21 16:45:57 UTC 2005


Waldo Rubinstein wrote:

> I have visited  
> HyperSpec, but it seems you need to have some degree of CL knowledge  
> before you can understand what it's all saying. This looks more like  
> language standard specs in grammar form which could be, as you  suggest, 
> used as reference. 

That is essentially right, although there are a wealth of examples as 
well. I'm pretty sure most use the hyperspec as a reference, but i agree 
that some CL know-how is a prerequisite.


>> It also might help to pick up a little scheme, at least the concept  
>> call/cc, as UCW does differ from Common Lisp in that regard :).

> Wow. Now you threw me off completely. No wonder I couldn't always  
> follow the UCW code I was looking :). 

UCW is a Continuation based framework. Since there are no native 
continuations in CL (there are in scheme), we need to fake it. UCW does 
this by embedding an interpreter for a Common Lisp-like language that 
includes call/cc. For the most part, it is identical to common lisp, and 
the distinction shouldn't worry you too much at first, but it is there.

> I thought UCW was written in  CL? 

To borrow a phrase from Graham, UCW is written _On Lisp_ :) .

> How could it differ? I guess you could always write your own  language 
> within Lisp and you could always make it look more like  Scheme (at 
> least in concepts) than CL code. How essential is it to  have some 
> Scheme knowledge?

Its mostly knowlege of call/cc that would be good to have. Since CL does 
not include this operator, scheme is not a bad place to look. FWIW, i 
know very little scheme beyond playing around with it.

  I learned Lisp back in college (14 years  ago) and
> never touched it again. I guess I could pick it up again  rather 
> quickly. Now, should I just read high level concepts of Scheme  in order 
> to understand UCW's concepts or is it more like learning to  program in 
> Scheme that will help me more?

call/cc is really all you need to know, and even then it's not a big 
deal. Just some food for thought.

drewc



More information about the bese-devel mailing list