Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

learning lisp

6 views
Skip to first unread message

gavino

unread,
Dec 10, 2009, 5:54:16 AM12/10/09
to
I am very frustrated by ANSI common lisp by Paul Graham. It has many
undefined terms even in ch2 and 3.
I got a headache trying to make heads or tails of it.

I will I guess try trouetskys gentle intro or the gigamonkeys book,
but the gigamonkeys boks kinda scares me because it uses franz inc.'s
stuff. I love free software.

Danny Woods

unread,
Dec 10, 2009, 6:07:09 AM12/10/09
to
gavino <gavc...@gmail.com> writes:

> I will I guess try trouetskys gentle intro or the gigamonkeys book,
> but the gigamonkeys boks kinda scares me because it uses franz inc.'s
> stuff. I love free software.

The examples from the gigamonkeys book work perfectly fine with a free
Lisp like SBCL or Clisp: the Franz stuff is only mentioned to avoid you
having to install a Lisp of your own to get started at a REPL.

If you can get a hold of David Lamkins' "Successful Lisp" I'd *highly*
recommend it. "Practical Common Lisp" is excellent, but it was much
easier to follow after reading Lamkins' book.

Cheers,
Danny.

gavino

unread,
Dec 10, 2009, 6:15:19 AM12/10/09
to
On Dec 10, 3:07 am, Danny Woods <dannywo...@yahoo.co.uk> wrote:

thx

do you use lisp for web at all?

Danny Woods

unread,
Dec 10, 2009, 6:26:21 AM12/10/09
to
gavino <gavc...@gmail.com> writes:

> do you use lisp for web at all?

Not really. I've tinkered a little with Hunchentoot, but when it comes
to the web I've yet to find something that matches Seaside (a web
framework written in Smalltalk).

Cheers,
Danny.

gavino

unread,
Dec 10, 2009, 6:50:40 AM12/10/09
to
On Dec 10, 3:26 am, Danny Woods <dannywo...@yahoo.co.uk> wrote:

I have heard of it. Why is it nice?

Danny Woods

unread,
Dec 10, 2009, 7:00:02 AM12/10/09
to
gavino <gavc...@gmail.com> writes:

>> Not really. �I've tinkered a little with Hunchentoot, but when it comes
>> to the web I've yet to find something that matches Seaside (a web
>> framework written in Smalltalk).
>>
>> Cheers,
>> Danny.
>
> I have heard of it. Why is it nice?

It effectively allows you to write a web application in a manner that
feels more like a desktop application. You don't need to worry about
the request/response cycle, or fetch parameters from query strings
(parameters are associated with blocks (roughly synonymous with lambda
functions) that are invoked with field values when a form is submitted).
The objects you need can be live and complex, without needing to store
them in a session object between requests.

It's particularly nice with the GemStone object database, is
available as a VMWare appliance (through
http://seaside.gemstone.com/downloads.html), and is free provided your
database doesn't grow above 2GB, IIRC.

But that's enough Smalltalk advocation: this is a Lisp forum :-)

Cheers,
Danny.

ccc31807

unread,
Dec 10, 2009, 10:30:41 AM12/10/09
to

Gavino, I had the same experience three years ago. ANSI CL was the
first Lisp book I bought, and it's ABSOLUTELY NOT (!!!) written for
self instruction. I put it away for three years, and only last week
started to work through it again. Now, I have a very high opinion of
ANSI CL -- it's actually a good book with lot's of good explanations
and a good exploration of Common Lisp.

My approach was to read as many Lisp books as I could. Here is my
opinion based on my experience:

BOOKS I'VE READ

Wilensky, Common LISPCraft - Old and cranky, but possibly the best
self-tutorial. Make sure you get the solutions manual.

Winston and Horn, Lisp - Also a good self tutorial. The answers to the
exercises are included in the book.

Seibel, Practical CL - I don't really think that this is a good
introduction for a complete novice. As a second book after an
introduction it's very good at showing how Lisp can be used for
writing real software.

Graham, ANSI CL - Not for beginners, but really does fill in the gaps
for someone who already knows Lisp. I think it's as 'practical' as
Seibel, if not more so, but it's not as user friendly as Seibel.

Keene, OO Programming in CL - An illuminating book on OO
programming ... I've read the first three chapters three times with
worthwhile results each time, and I'd recommend it for programming in
any language.

Lamkins, Successful CL - I purchase this and read through it, but I
can't say it did me any good. This isn't to say it's not a good book,
just that I didn't connect.

OTHERS

Norvig, Paradigms of AI - Some say that this is in the very top
category of computer boo. I'll eventually get around to it.

Barski, Land of Lisp - Not yet published, although 'Casting SPELS' is
available online. I am impressed by it and look forward to reading it.

Levine, Lisp Outside the Box - Not published yet, but eight chapters
are available in draft. I think this will be a good book in the
typical O'Reilly fashion, which is to say tough sledding for the
novice but good for the apprentice Lisper.

Miller, Lisp: Style and Design - It doesn't seem to be available at
all, but from its reputation a profitable book to study.

Best advice: write an hour of Lisp every day. Hope this helps.

CC.

Giovanni Gigante

unread,
Dec 10, 2009, 11:02:33 AM12/10/09
to

> Gavino, I had the same experience three years ago. ANSI CL was the
> first Lisp book I bought, and it's ABSOLUTELY NOT (!!!) written for
> self instruction.


I am quite surprised by this. I found ANSI CL extremely good for
learning, provided you are very careful and don't skip any word of it.
It follows a very rigorous sequence, everything is first explained and
then used (PCL, on the other side, has some forward references in the
initial chapters which I found a bit confusing at that time). But since
ANSI CL is a slim book and nothing is repeated, it is easy to overlook
details and get lost. I studied it with an highlighter in hand, marking
the symbol names where they were first introduced, and I liked the result.
On the other side, if one prefers the "huge and redundant" approach,
Wrox-like, then ANSI CL is definitely not recommended.

Anyway, I suggest the following sequence, which worked for me:
Touretzky -> Graham(ACL) -> Seibel.

After that: Graham(OnLisp) for macros; Keene for CLOS.

ccc31807

unread,
Dec 10, 2009, 12:18:19 PM12/10/09
to
On Dec 10, 11:02 am, Giovanni Gigante <g...@cidoc.iuav.it> wrote:
> > Gavino, I had the same experience three years ago. ANSI CL was the
> > first Lisp book I bought, and it's ABSOLUTELY NOT (!!!) written for
> > self instruction.
>
> I am quite surprised by this.

The first sentence in chapter 2 reads as follows: "This chapter aims
to get you programming as soon as possible." It then immediately
refers to something called 'toplevel'. What is 'toplevel'? Where does
it come from? How do you access it? If you come from the Java
environment, you download the SDK and minimally write, compile, and
run your programs on the command line. If you come from the .NET
environment, you write, compile, and run your programs in the IDE. If
you come from the C/C++ environment and use the gcc or similar, you
write, compile, and run your programs from the command line. Graham
assumes that the reader has Lisp up and running and has the
interactive environment in hand, a spectacularly bad (and stupid)
assumption for a person entirely ignorant about Lisp.

Several pages later on, he mentions something about depending on your
Lisp implementation without bothering to explain it.

The teacher needs to do a certain amount of hand holding for the
beginner, and Graham doesn't do this. In my case, after searching the
internet, I was able to get and install clisp, and run it from the
command line (same way I learned Java and C and Perl). Have you ever
tried to write Lisp in a command line environment (using edit for
example on Windows or gedit on Linux)? I spent most of my time
counting and matching parentheses before giving up in disgust.

As good a book as ANSI CL is, and I agree that it is a good book, it's
not for the complete beginner who doesn't have a clue that he must
find, download, and install, and become familiar with a Lisp
environment before he can get started.

CC.

Giovanni Gigante

unread,
Dec 10, 2009, 3:15:19 PM12/10/09
to
ccc31807 wrote:
> Graham
> assumes that the reader has Lisp up and running and has the
> interactive environment in hand


It seems to me, instead, that *you* are assuming that a up-and-running
environment is necessary for any learning. And I agree that if one is
looking for an interactive approach, and for writing software in the
practical sense, ACL does not suit.

But I studied ACL like one can study any other formal topic, and I liked
it. In fact I read it all on the beach, without any computer in sight. I
loved lisp way before I learned how to install an implementation, how to
throw the correct curse to ASDF, etc.

The "toplevel": it was pretty obvious from the text that it is the place
where you type things and you get the results, that is a CLI. Maybe this
concept did not sound strange to me at all because I used to type "LET
A=1" in my commodore 64, way before I even knew what a compiler was. :-)
True, I did not have a clue for some time on why the "toplevel" was
called this way, but I did not find it a serious problem. After all, I
am not so sure of the reason even now...

Different textbooks for different backgrounds / learning styles, it seems.

g

Kaz Kylheku

unread,
Dec 10, 2009, 4:01:24 PM12/10/09
to
On 2009-12-10, Danny Woods <danny...@yahoo.co.uk> wrote:
> gavino <gavc...@gmail.com> writes:
>
>>> Not really.  I've tinkered a little with Hunchentoot, but when it comes
>>> to the web I've yet to find something that matches Seaside (a web
>>> framework written in Smalltalk).
>>>
>>> Cheers,
>>> Danny.
>>
>> I have heard of it. Why is it nice?
>
> It effectively allows you to write a web application in a manner that
> feels more like a desktop application. You don't need to worry about

I'd be astonished if there didn't exist at least three such frameworks for
Smalltalk.

> the request/response cycle, or fetch parameters from query strings
> (parameters are associated with blocks (roughly synonymous with lambda
> functions) that are invoked with field values when a form is submitted).
> The objects you need can be live and complex, without needing to store
> them in a session object between requests.

Hunchentoot exposes these things because, it's not a web application
framework but a media server.

Hunchentoot is the thing if you want a small, tight web server in your app,
with a lot of low-level control over the interaction with the client.

Grapefruits, oranges.

Danny Woods

unread,
Dec 10, 2009, 5:23:53 PM12/10/09
to
Kaz Kylheku <kkyl...@gmail.com> writes:

> Hunchentoot is the thing if you want a small, tight web server in your app,
> with a lot of low-level control over the interaction with the client.
>
> Grapefruits, oranges.

Indeed, and I'm neither comparing Hunchentoot to Seaside nor suggesting
that one is universally better than the other. As you point out, they
are entirely diffrent beasts, and in my case, my programming background
and freedom to choose lead me to personally favour Seaside.

Cheers,
Danny.

Francogrex

unread,
Dec 10, 2009, 5:57:51 PM12/10/09
to
On Dec 10, 6:18 pm, ccc31807 <carte...@gmail.com> wrote:
> On Dec 10, 11:02 am, Giovanni Gigante <g...@cidoc.iuav.it> wrote:
>
> > > Gavino, I had the same experience three years ago. ANSI CL was the
> > > first Lisp book I bought, and it's ABSOLUTELY NOT (!!!) written for
> > > self instruction.
>
> > I am quite surprised by this.
>
> The first sentence in chapter 2 reads as follows: "This chapter aims
> to get you programming as soon as possible." It then immediately
> refers to something called 'toplevel'. What is 'toplevel'? Where does
> it come from?

If you read *carefully* you'd realize that it is explained, this is
what the beginning of chapter 2 of ACL *really* says:
"It is particularly true of Lisp that you learn it by using it,
because Lisp is an
*interactive* language. Any Lisp system will include an *interactive*
front-end
called the toplevel. You type Lisp expressions into the toplevel, and
the
system displays their values".
ACL is a very good book. It's just not for absolute beginners. My
learning started with books of Lamkins, Touretzky and Graham
simultaneously.

Robert Uhl

unread,
Dec 11, 2009, 1:50:59 PM12/11/09
to
ccc31807 <cart...@gmail.com> writes:
>
> Have you ever tried to write Lisp in a command line environment (using
> edit for example on Windows or gedit on Linux)? I spent most of my
> time counting and matching parentheses before giving up in disgust.

Heh, that was exactly my experience with the resources available before
PCL: a great feeling of 'why is everyone going on about how great this
primitive POS is?' Then I read PCL, and it all clicked.

--
Robert A. Uhl
Democracy consists of choosing your dictators, after they've told you what
you think it is you want to hear. --Alan Coren

deech

unread,
Dec 11, 2009, 2:22:43 PM12/11/09
to
On Dec 11, 12:50 pm, Robert Uhl <eadmun...@NOSPAMgmail.com> wrote:

Hi all,
I am a long-time reader, occasional poster. I was wondering if any of
you had seem this account [1] of a guy who decided to write his web-
app in Common Lisp and what you thought of his critique of Common
Lisp.

-deech

[1] http://blog.postabon.com/why-i-chose-common-lisp-over-python-ruby-and

Drew Crampsie

unread,
Dec 11, 2009, 2:48:52 PM12/11/09
to
Danny Woods <danny...@yahoo.co.uk> writes:

UnCommon Web (UCW) started life as almost a direct port of Seaside to
CL. It has diverged somewhat, but i still keep abreast of what's going
on in the seaside world.

Give it a try if you like Seaside, you will not be dissapointed.

Cheers,

drewc
>
> Cheers,
> Danny.

Captain Obvious

unread,
Dec 11, 2009, 5:04:01 PM12/11/09
to
d> I am a long-time reader, occasional poster. I was wondering if any of
d> you had seem this account [1] of a guy who decided to write his web-
d> app in Common Lisp and what you thought of his critique of Common
d> Lisp.

I think he is correct. Not sure about "the high barrier to entry" though.
Sure it might be hard to get through warts of implementation and to
pick libraries which actually work, but it is probably a matter of luck.
I don't think that there is something in Common Lisp itself which
makes it particularly hard.


gavino

unread,
Dec 11, 2009, 7:35:30 PM12/11/09
to

thanks!
I have a copy of winston+horn.
I found lamkins online.
I might also read touretsky gentle intro.
will keep this list of books on my blog

gavino

unread,
Dec 11, 2009, 7:42:24 PM12/11/09
to

I would say I am always ok until mid chapter 2 about p23, then there
is a mass of seemingly undefined terms, that grow so much so that by
ch3 my head hurts.
The explanation of and and or I guess is assumed to be memorized, for
example.
The set setf stuff also gets boggling.

gavino

unread,
Dec 11, 2009, 7:43:11 PM12/11/09
to
On Dec 10, 2:23 pm, Danny Woods <dannywo...@yahoo.co.uk> wrote:

core server, cl-weblocks, teepeedee2 ?

gavino

unread,
Dec 11, 2009, 7:44:45 PM12/11/09
to
On Dec 11, 11:48 am, Drew Crampsie <dr...@tech.coop> wrote:
> Danny Woods <dannywo...@yahoo.co.uk> writes:

> > gavino <gavcom...@gmail.com> writes:
>
> >> do you use lisp for web at all?
>
> > Not really.  I've tinkered a little with Hunchentoot, but when it comes
> > to the web I've yet to find something that matches Seaside (a web
> > framework written in Smalltalk).
>
> UnCommon Web (UCW) started life as almost a direct port of Seaside to
> CL. It has diverged somewhat, but i still keep abreast of what's going
> on in the seaside world.
>
> Give it a try if you like Seaside, you will not be dissapointed.
>
> Cheers,
>
> drewc
>
>
>
>
>
> > Cheers,
> > Danny.- Hide quoted text -
>
> - Show quoted text -

ah yes, cool, it is still maintained?

gavino

unread,
Dec 11, 2009, 7:46:07 PM12/11/09
to
On Dec 11, 11:48 am, Drew Crampsie <dr...@tech.coop> wrote:
> Danny Woods <dannywo...@yahoo.co.uk> writes:
> > gavino <gavcom...@gmail.com> writes:
>
> >> do you use lisp for web at all?
>
> > Not really.  I've tinkered a little with Hunchentoot, but when it comes
> > to the web I've yet to find something that matches Seaside (a web
> > framework written in Smalltalk).
>
> UnCommon Web (UCW) started life as almost a direct port of Seaside to
> CL. It has diverged somewhat, but i still keep abreast of what's going
> on in the seaside world.
>
> Give it a try if you like Seaside, you will not be dissapointed.
>
> Cheers,
>
> drewc
>
>
>
>
>
> > Cheers,
> > Danny.- Hide quoted text -
>
> - Show quoted text -

I am also curious about happstack.com or www.prevayler.org, the in
memory idea with log of each change, for massive speed? not sure if cl-
prevalence was ever given a go..or if ti is maintained?

Danny Woods

unread,
Dec 13, 2009, 5:28:46 AM12/13/09
to
Drew Crampsie <dr...@tech.coop> writes:

> Danny Woods <danny...@yahoo.co.uk> writes:
>
>> Not really. I've tinkered a little with Hunchentoot, but when it comes
>> to the web I've yet to find something that matches Seaside (a web
>> framework written in Smalltalk).
>
> UnCommon Web (UCW) started life as almost a direct port of Seaside to
> CL. It has diverged somewhat, but i still keep abreast of what's going
> on in the seaside world.
>
> Give it a try if you like Seaside, you will not be dissapointed.

Thanks for the tip, Drew. I've never seen UCW before, but I'll
certainly try it out.

Cheers,
Danny.

gavino

unread,
Dec 16, 2009, 3:24:29 AM12/16/09
to
On Dec 13, 2:28 am, Danny Woods <dannywo...@yahoo.co.uk> wrote:
> Drew Crampsie <dr...@tech.coop> writes:

is UCW maintained still?

0 new messages