Re: So completely lost - trying to learn Lisp



On Wed, 18 Mar 2009 13:29:35 -0700 (PDT), Elena <egarrulo@xxxxxxxxx>
wrote:

On 18 Mar, 15:26, WolfsTemple <wolfstem...@xxxxxxxxx> wrote:
I'm a second year CS student. ?I learned C/C++ on Visual Studio on
Windows. ?I began reading Peter Seibel's book "Practical Common Lisp",
some Paul Graham's essays, and what really helped me at first was
David Touretzky's book Common Lisp: A Gentle Introduction to Symbolic
Computing which I'm halfway through.

I think I have the theory on lisp down but I want to start real
programming examples.

1. ?I've been told emacs is the best environment to program lisp, but
I'm just lost with Linux and tarballs and what not. ?I have installed
Ubuntu, have emacs running, but slime??? ?Is there an easy beginner's
guide or download? ?There was one video on youtube on how to do it but
the guy was like a wizard going 100 mph 0.0 ?Is there another
environment?
2. ?While I'm familiar with Turing Completeness saying what you can do
with one computer/language, you should be able to do with another, do
you think Lisp offers a significant advantages still in the modern
age?

Thank you for any help,
WT

Forget Common Lisp, it's not newbie friendly. Learn Scheme (a Lisp
dialect) using PLT Scheme:

http://www.plt-scheme.org/

Very newbie friendly. And quite powerful, too.

Agreed, although whether Scheme or Common Lisp is better is mostly a
matter of taste. I used both Scheme and Common Lisp in the same
course in college and wound up with Scheme as my most favorite
language, and Common Lisp as one of my least favorites. Scheme is a
much smaller language with a single namespace for both functions and
variables, and it seemed to me to have a cleaner syntax and that my
implementation (T at the time, IIRC) had no error messages for
renaming existing functions, making casual exploratory programming
easier, but I'm sure that many readers of this newsgroup prefer Common
Lisp for their own reasons.

For a comparison of Lisp-1 dialects (i.e., dialects with a single
namespace for both functions and variables, such as Scheme) with
Lisp-2 dialects (i.e., dialects with two namespaces, one for functions
and one for variables, such as Common Lisp), read the following paper:

"Technical Issues of Separation in Function Cells and Value Cells"
by Richard P. Gabriel
http://www.nhplace.com/kent/Papers/Technical-Issues.html

Here are references to a few introductory publications on Scheme:

_The Little Schemer_
(my favorite book on Scheme, which will teach you how to think
recursively; unfortunately, this book is only available in dead tree
format)
http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=4825

_The Seasoned Schemer_
(the sequel to _The Little Schemer_; again, this book is only
available in dead tree format)
http://mitpress.mit.edu/catalog/item/default.asp?tid=7510&ttype=2

_Concrete Abstractions: An Introduction to Computer Science Using
Scheme_
by Max Hailperin, Barbara Kaiser, and Karl Knight
(a book introducing computer science using Scheme, in the spirit of
_Structure and Interpretation of Computer Programs_ (see below), but
with a lower mathematical learning curve)
http://gustavus.edu/+max/concrete-abstractions.html

"Using Concrete Abstractions with DrScheme"
(a guide to using _Concrete Abstractions_ with DrScheme)
http://gustavus.edu/+max/concabs/schemes/drscheme/

_How to Design Programs_ (aka "HtDP")
by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and
Shriram Krishnamurthi
(a book that uses a series of design recipes and structural recursion
in approaching functional programming as a basis to be followed by
later courses in object-oriented programming)
http://www.htdp.org/

"The Structure and Interpretation of the Computer Science Curriculum"
by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and
Shriram Krishnamurthi
(a paper that compares and contrasts _Structure and Interpretation of
Computer Programs_ with _How to Design Programs_ in explaining the
motivation for the latter)
http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf

_Teach Yourself Scheme in Fixnum Days_
by Dorai Sitaram
(a book that focuses on Scheme as a language, rather than as a tool
for computer science, and that is intended as a quick-start guide to
be followed by more in-depth and comprehensive texts)
http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html

_Structure and Interpretation of Computer Programs_ (aka "SICP")
by Harold Abelson and Gerald Jay Sussman with Julie Sussman
(a classic introduction to computer science, using Scheme;
affectionately referred to by many as "the Wizard Book," because of
the wizard on the cover; regarded as the classic book on introductory
computer science by many; criticized by some as being very difficult
and requiring too much domain knowledge to master)
http://mitpress.mit.edu/sicp/

In addition, if you plan to use Emacs, be sure to use the following
tool, which greatly enhances Emacs support for Scheme:

Quack: Enhanced Emacs Support for Editing and Running Scheme Code
http://www.neilvandyke.org/quack/

Good luck!

-- Benjamin L. Russell
--
Benjamin L. Russell / DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile: +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^
.



Relevant Pages

  • Re: GCC 4.0.x; zu pedantisch?
    ... > viele Implementierungen von Scheme ähnlichen Sprachen. ... bei Common Lisp sieht es weitaus besser ... Aber ich kann ja auch noch auf Common ... Next by Date: ...
    (de.comp.os.unix.programming)
  • Re: Lisp for OpenStep/NeXTSTEP
    ... > Anyone know what Lisp systems ran on NeXT? ... > (If you used any Lisp, Common or otherwise, I'd be interested to hear ... On NeXT, I used intensively clisp (check it, in the current sources, ... There is a scheme named zen too. ...
    (comp.lang.lisp)
  • Re: Scheme is Lisp - could you validate this statement?...
    ... > "Scheme jest jednym z licznych dialektow Lisp-u, ... > kilkadziesiat razy krotsza niz Common Lispu, ... > "Scheme is one many dialects of Lisp, it is not Common Lisp, the size ...
    (comp.lang.lisp)
  • Re: Very poor Lisp performance
    ... > As for OCaml vs Lisp, I don't know Lisp well enough to comment. ... I like Scheme and maybe Common Lisp ... It is a pitty that a lot of Schemers and Common Lispers ...
    (comp.lang.lisp)
  • Re: Universal Computer Truths
    ... The claim is that most Forth programming is done for hardware control, ... you're such a Lisp fan, you probably understand that what the 95% ... You throw away considerations what is the Ruby ... which somewhat defeats the idea of Scheme. ...
    (comp.lang.forth)