Download Lisp to my brain.

9 points by Mz 16 years ago

If I were a character in the movie The Matrix, I could ask an operator to download a program to my brain so I could fly a helicopter or something. I would like to learn Lisp and, well, download it to my brain as rapidly as possible so I can start working with it to write a roguelike. I am looking for good online resources, preferably including a sand-box or similar. I learned to code my websites by having a template (gifted to me by a friend) and playing with it and I still learn new things when I want/need to do something new on my sites. I know a little (X)HTML and CSS already and had intro to VisualBasic about 7 years (which I don't particularly remember, of course).

Yes, I know I can google this. But since I know nothing, I can't judge the quality of the sources. So I am hoping folks here will indulge me.

Thanks.

PS: Am I supposed to do an intro? I just joined today and this is my first post.

mahmud 16 years ago

Assuming this isn't a Joke:

Lisp IDE for Windows (the easiest and most basic; use it just for your first 30 days, after that move to SLIME.)

http://www.daansystems.com/lispide/

Implementations (both work with LispIDE above)

http://clisp.cons.org/ (byte compiled, fast)

http://sbcl.org (natively compiled, multithreaded, industrial strenth)

Books

http://www.cs.cmu.edu/~dst/LispBook/ (easiest intro)

More here http://lisp.org/alu/res-lisp-education

  • Mz 16 years ago

    No, this isn't a joke. Thank you for replying.

    • mahmud 16 years ago

      You might wanna revise that "download to brain" requirement. Programming is a skill learned and polished over years; none of us are Johny Mnemonic ;-)

      • Mz 16 years ago

        Just hoping to convey a concept. I already write code by hand, just not programming languages. :-)

        Thank you!

cesare 16 years ago

Lisp nowadays comes in two main flavours (dialects, technically): scheme and Common Lisp.

I prefer the former and my favorite implementation at the moment is plt-scheme (http://www.plt-scheme.org/).

From the website above you can download the distribution of the language for your platform. It also has a very nice IDE which has been designed primarily for learning.

Here's a book to get you started (it is fully available online): http://www.htdp.org/

Happy hacking!

  • Mz 16 years ago

    Thanks! Any reasons why you prefer scheme to Common?

    • cesare 16 years ago

      For me it's mostly an aesthetic thing. It's difficult to explain.

      I just find simple things more elegant than and Scheme is terser and all the implementations (that I know of) are lighter than CL. It' s also very easy to embed in C code.

      I'm by no means an expert, though.

  • palsecam 16 years ago

    In addition to "How to Design Programs", there is also the excellent "Structure and Interpretation of computer programs", also fully available online (and also from MIT): http://mitpress.mit.edu/sicp/

    SICP is a very very good computer science book, for beginners as for advanced programmers. It uses Scheme, but it is much more than a Scheme book.

    (I haven't read HTOP, so I can't say, but it also has a very good reputation. +1).

    • CyberFonic 16 years ago

      I too recommend SICP. It is great, especially if you haven't been exposed to much CS stuff already.

      I have found newLisp : http://www.newlisp.org/ very good. It runs on all common platforms and the net-eval mechanism is excellent for distributed computing. For all out grunt and 64 bits, you might want to take a look at picoLisp-64 http://www.software-lab.de/down.html

      Don't get too hung up about the Common Lisp vs. Scheme vs. the other 2763 Lisps arguments. Once you understand the concepts only the details vary and you can implement whatever you find works best for you. After all, Lisp is a "programmable programming language". Read some of Paul Graham's essays to get a feel for the power of macros.

  • cema 16 years ago

    Clojure is another important dialect which has recently arrived, has good reputation and a growing following. You can start with the following resources:

    http://clojure.org/ is the place to keep track of the language progress (maintained by the creator of the language).

    http://jnb.ociweb.com/jnb/jnbMar2009.html is a great introduction in the language.

    http://en.wikibooks.org/wiki/Clojure_Programming and http://en.wikibooks.org/wiki/Learning_Clojure are also helpful resources for a beginner.

    Offline, there is a recent and very good book from the Pragmatic Bookshelf, http://www.pragprog.com/titles/shcloj/programming-clojure. Another book is being prepared by Apress, http://www.apress.com/book/view/9781430272311, obviously I cannot say how good it is going to be at this point.

    On a more general note, SICP (http://mitpress.mit.edu/sicp/) is a classic and a great introduction in the world of Lisp, functional programming and programming in general. It uses Scheme as the basic language material. A more recent book, Practical Common Lisp (http://gigamonkeys.com/book/) is an introduction in Lisp on the basis of the Common Lisp dialect.

    This is just to start, there are more resources for all levels.

    Good luck!

palsecam 16 years ago

For an online sandbox, you can use the Lord of the REPLs from Google: http://lotrepls.appspot.com/.

You can evaluate expressions (= program) in 2 Lisp dialects, Scheme and Clojure, directly in your browser! (You can also use other non-Lisp languages, notably Ruby).

  • Mz 16 years ago

    Thank you everyone. This thread is the best internet discussion experience I have had in a long time. :-)