News for hackers. Stuff that matters.

Ask HN: Learning Lisp?

Hi HN,

I see almost constant references to Lisp and how expressive it is here in the community. As a software engineer, I expect that learning Lisp thoroughly, starting from fundamental principles, all the way through advanced concepts, will improve my technical skills and apply to many problems. Since the community seems to be so enamored with Lisp, I thought this would be the best place to ask:

What are the best resources for learning Lisp? Particularly, basic principles, advanced concepts, and maybe a bit of historical context as well.

Books, online or otherwise, or any blogs or articles, YouTube lectures or talks -- anything that really concisely and clearly explains things.

( 15 comments | 21 points | on HN )
Re:Ask HN: Learning Lisp? by inetsee on Sunday January 01, 2017 @03:25PM (#13297143)
Structure and Interpretation of Computer Programs (aka SICP), available here https://mitpress.mit.edu/sicp/full-text/book/book.html

Uses Scheme (which is a dialect of Lisp) as its teaching language. This book was used at MIT for their introductory programming course. It provides a fairly deep dive into the fundamentals of functional programming.

Re:Ask HN: Learning Lisp? by shakna on Sunday January 01, 2017 @06:44PM (#13298093)
The lectures for SICP are also up on youtube: [0]

[0] https://www.youtube.com/watch?v=2Op3QLzMgSY

Re:Ask HN: Learning Lisp? by mbrock on Sunday January 01, 2017 @05:17PM (#13297707)
Some guy named Paul Graham wrote a book called "On Lisp".

http://www.paulgraham.com/onlisp.html

It's a good introduction to the Lisp way of programming using Common Lisp.

Re:Ask HN: Learning Lisp? by mindcrime on Sunday January 01, 2017 @03:01PM (#13297024)
Re:Ask HN: Learning Lisp? by avmich on Monday January 02, 2017 @12:56AM (#13299358)
I'd recommend http://www.michaelnielsen.org/ddi/lisp-as-the-maxwells-equat... .

A couple of "lower level" explanations - http://stevelosh.com/blog/2013/03/list-out-of-lambda/ (a somewhat easier start) and http://codon.com/programming-with-nothing - show where part of the power comes from.

Re:Ask HN: Learning Lisp? by jasonm23 on Tuesday January 03, 2017 @09:25AM (#13309289)
Emacs...

Largely written in Lisp and is a great resource. Also has SLIME which is a fantastic way to develop with Common Lisp.

Clojure support in Emacs (via Cider) is also great.

Emacs is often the first exposure that many get with Lisp (other than SICP).

In terms of nice Lisps to work with I think Clojure is more active as a community than any other dialect, and so it's useful for contemporary projects and generally getting help and support and so on.

Re:Ask HN: Learning Lisp? by dontJudge on Sunday January 01, 2017 @04:46PM (#13297554)
This article is good to get an idea what lisp is all about.

http://www.defmacro.org/ramblings/lisp.html

It compares lisp to XML. In that you are programming in a tree. Other languages must be parsed into a tree by the compiler, but with lisp you are already there from the get go.

Programming in a tree is the "magic" that's unique to lisp. And it is a big deal.

Re:Ask HN: Learning Lisp? by bubblesocks on Sunday January 01, 2017 @07:11PM (#13298179)
Lisp is awesome, but I think you're doing it a disservice by comparing it to XML, which is a technology that was derived straight from Satan's bottom. Lisp is elegant. XML, not so much.
Re:Ask HN: Learning Lisp? by kazinator on Monday January 02, 2017 @09:32AM (#13301294)
It's useful to compare Lisp to XML from the data notation aspect. As in, look, we already had better ideas for tree-structured data being communicated in text, forty years before XML.
Re:Ask HN: Learning Lisp? by jonaf on Sunday January 01, 2017 @07:22PM (#13298228)
This isn't exactly relevant to the OP, but, what's wrong with XML?
Re:Ask HN: Learning Lisp? by jonaf on Sunday January 01, 2017 @05:02PM (#13297630)
Thanks. These gems are particularly the kind of insight I am relying on HN for!
Re:Ask HN: Learning Lisp? by cnp on Sunday January 01, 2017 @08:02PM (#13298384)
Check out the edit mode called "parinfer" -- https://shaunlebron.github.io/parinfer/

It integrates nicely into a number of different editors and takes the initially weird parentheses right out

Re:Ask HN: Learning Lisp? by informatimago on Sunday January 01, 2017 @02:59PM (#13297017)
Re:Ask HN: Learning Lisp? by martinflack on Sunday January 01, 2017 @06:52PM (#13298115)
Others have mentioned the correct books.

When you need libraries: https://www.quicklisp.org/beta/