Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!spool.mu.edu!olivea!uunet!hearst.acc.Virginia.EDU!magilla!gkm
From: gkm@magilla.cichlid.com (Greg McGary)
Subject: Re: Newbie - how to learn LISP?
References: <3emneb$iaq@gateway.wiltel.com>
Organization: Home
Date: Wed, 11 Jan 1995 03:54:15 GMT
X-Newsreader: TIN [version 1.2 PL2]
Message-ID: <1995Jan11.035415.902@magilla.cichlid.com>
Lines: 38

Igor Chudov (ichudov@wiltel.com) wrote on 7 Jan 1995 18:44:27 GMT:
> What kind of exercises / LISP projects would you recommend me to do to 
> realize strengths and uses of LISP and to gain some practical experience?
>	. . .
> Sorry if it sounds like a stupid question, but any suggestions will be
> appreciated.

As for Lisp strengths, keep this constantly in mind: Lisp has simple
syntax with a uniform representation for programs and data.  The
consequence of this is that Lisp programs can easily build and execute
synthetic code, and that interpreters for custom languages and
language extensions are very easy to write.  It's no accident that
Lisp systems have always had the most powerful interactive programming
environments, because it's so easy to automatically parse and analyze
its programs.  It always strikes me as odd when people moan about Lisp
syntax--that's one of Lisp's a major strengths.  Obviously such people
haven't thought very deeply about it.

As for the practical experience part of your question, I've always
enjoyed programming in emacs-lisp.  If you use emacs, and are inclined
to customize your environment as I am, there is much fun and useful
work to be done there.  Be sure to get a copy of the elisp manual:

	elisp-manual-19-2.3.tar.gz

on prep.ai.mit.edu:/pub/gnu, or on a closer mirror site.  It's in
texinfo format.  When I'm hacking elisp on Linux, I always keep the
stand-alone info running with the elisp manual loaded either in a
virtual console or in an xterm.

Unfortunately, I know of no OOP add-ons for elisp, so you'll have to
do your OO programming elsewhere.  Elisp is MacLispy, but has
CommonLispy add-ons.

--gkm

PS: you've probably heard about it already, but be sure to check out
Ableson & Sussman's _Structure and Interpretation of Computer Programs_
