From: Mr. Berserker
Subject: LISP From a Deeper Viewpoint
Date: 
Message-ID: <84c2b879.0309171547.f0247a@posting.google.com>
Hm...I am looking for information on LISP from a more
theoretical/implementation standpoint if you see what I mean;
preferably a nice big free-as-in-freedom manual I could get at the
bookstore and read while dropping a grogan. :) I was looking at
librep's when macro when I realised how important lists are; in this
case I was looking at a list that constructed a form. And there are
certain details I do not understand at all...

And here is the 'when' macro just to see:

(defmacro when (condition #!rest forms)
  "Evaluates CONDITION, if it is true an implicit progn is performed
with FORMS."
  (list 'if condition (cons 'progn forms)))

I still do not **entirely** get all the contents therein. Some details
about evaluation, quoting, etc; I do know the function symbol needs to
be quoted... I had a hell of a time trying to reimplement that in
various ways, which both functions and macros, none of which were
really successful...Plus, see the section in the librep info page (also
applies in emacs) on building lists with a function, where it is done
twice and the old value gets overwritten (forget exact location and don't
have the page handy now). Are the two symbols referring to the same
location in memory, which got overwritten??

Maybe I should just focus on being a LISP luser for now and write my
d*mn file manager and sweet sawfish config without bending my brain
all out of shape over lisp's abstractness. :p How am I going to become
a computer scientist though?? (actually, I am fifteen now)

--
Don't look now, but Khamul's sister is grinning broadly behind you.

From: Peter Seibel
Subject: Re: LISP From a Deeper Viewpoint
Date: 
Message-ID: <m3fziupx0w.fsf@javamonkey.com>
·············@yahoo.com (Mr. Berserker) writes:

> Maybe I should just focus on being a LISP luser for now and write my
> d*mn file manager and sweet sawfish config without bending my brain
> all out of shape over lisp's abstractness. :p How am I going to become
> a computer scientist though?? (actually, I am fifteen now)

A few books that will get you well on your way towards being a
computer scientist as well as understanding lots about languages in
the Lisp family:

  _Paradigms of Artificial Intelligence Programming: Case Studies in
  Common Lisp_ (aka PAIP) by Peter Norvig

  _Structure and Interpretations of Computer Programs_ (aka SICP)
   by Abelson and Sussman

  _Lisp in Small Pieces_ by Christian Queinnec

SICP in _Lisp in Small Pieces_ both use Scheme rather than Common Lisp
while PAIP, as it's subtitle suggests, uses Common Lisp. SICP is an
excellent introduction to many concepts in computer science; _Lisp in
Small Pieces_ is more about various implementation strategies for
Lisp, and PAIP is an outstanding compendium of Common Lisp techniques,
with a focus on "classic" AI applications.

-Peter

P.S. Note: Scheme is a language that shares ancestry with Common Lisp
but opinions differ on whether it is or is not a "Lisp". Please don't
bother trying to get folks here to weigh in on this question as it has
been discussed to death many times. Go read the old threads in Google
if you must. Or better yet, read both SICP and PAIP--you'll learn a
lot and will be well equipped to decide for yourself. But do be aware
that Scheme and Common Lisp are different enough, despite their many
obvious similarities, that if you actually want to program
proficiently and idiomatically in either one, you will have to take it
on its own terms.

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: thelifter
Subject: Re: LISP From a Deeper Viewpoint
Date: 
Message-ID: <b295356a.0309180833.52f314ad@posting.google.com>
Here you can get a good free pdf book about Lisp data structures etc:

http://www.civilized.com/LispBook/

I doesn't write much about macros but it will give you a good
understanding about symbols, s-expressions, functions, special forms
etc... I think it's worth a read.
From: Mr. Berserker
Subject: Re: LISP From a Deeper Viewpoint
Date: 
Message-ID: <84c2b879.0309190656.5d687869@posting.google.com>
·········@gmx.net (thelifter) wrote in message news:<····························@posting.google.com>...
> Here you can get a good free pdf book about Lisp data structures etc:
> 
> http://www.civilized.com/LispBook/
> 
> I doesn't write much about macros but it will give you a good
> understanding about symbols, s-expressions, functions, special forms
> etc... I think it's worth a read.

Thank you. All responses have been very fantastic. I shall have to
return the favour some day.
From: Pascal Costanza
Subject: Re: LISP From a Deeper Viewpoint
Date: 
Message-ID: <bkbp87$tha$1@f1node01.rhrz.uni-bonn.de>
Mr. Berserker wrote:
> Hm...I am looking for information on LISP from a more
> theoretical/implementation standpoint if you see what I mean;
> preferably a nice big free-as-in-freedom manual I could get at the
> bookstore and read while dropping a grogan. :) I was looking at
> librep's when macro when I realised how important lists are; in this
> case I was looking at a list that constructed a form. And there are
> certain details I do not understand at all...

Probably the best material on Lisp macros is available in the book "On 
Lisp" by Paul Graham. It is available for free as a PDF at 
http://www.paulgraham.com/onlisp.html

I also have a small section about macros at 
http://www.pascalcostanza.de/lisp/guide.html

If you want a more theoretical introduction to why this all works, see 
http://www.paulgraham.com/rootsoflisp.html and 
ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-453.pdf


Pascal

-- 
Pascal Costanza               University of Bonn
···············@web.de        Institute of Computer Science III
http://www.pascalcostanza.de  R�merstr. 164, D-53117 Bonn (Germany)