TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Learning Lisp?

21 pointsby jonafover 8 years ago
Hi HN,<p>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:<p>What are the best resources for learning Lisp? Particularly, basic principles, advanced concepts, and maybe a bit of historical context as well.<p>Books, online or otherwise, or any blogs or articles, YouTube lectures or talks -- anything that really concisely and clearly explains things.

10 comments

inetseeover 8 years ago
Structure and Interpretation of Computer Programs (aka SICP), available here <a href="https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;sicp&#x2F;full-text&#x2F;book&#x2F;book.html" rel="nofollow">https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;sicp&#x2F;full-text&#x2F;book&#x2F;book.html</a><p>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.
评论 #13298093 未加载
mbrockover 8 years ago
Some guy named Paul Graham wrote a book called &quot;On Lisp&quot;.<p><a href="http:&#x2F;&#x2F;www.paulgraham.com&#x2F;onlisp.html" rel="nofollow">http:&#x2F;&#x2F;www.paulgraham.com&#x2F;onlisp.html</a><p>It&#x27;s a good introduction to the Lisp way of programming using Common Lisp.
vs4vijayover 8 years ago
Go for Clojure if you want to explore Functional Programming, Clojure is 21st Century Lisp.<p>Some good resources: 1. <a href="https:&#x2F;&#x2F;github.com&#x2F;hemanth&#x2F;functional-programming-jargon" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;hemanth&#x2F;functional-programming-jargon</a> 2. <a href="https:&#x2F;&#x2F;maryrosecook.com&#x2F;blog&#x2F;post&#x2F;a-practical-introduction-to-functional-programming" rel="nofollow">https:&#x2F;&#x2F;maryrosecook.com&#x2F;blog&#x2F;post&#x2F;a-practical-introduction-...</a> 3. <a href="http:&#x2F;&#x2F;www.secretgeek.net&#x2F;lisp_truth" rel="nofollow">http:&#x2F;&#x2F;www.secretgeek.net&#x2F;lisp_truth</a> 4. <a href="http:&#x2F;&#x2F;www.buildyourownlisp.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.buildyourownlisp.com&#x2F;</a> 5. OS Written is Lisp: <a href="https:&#x2F;&#x2F;github.com&#x2F;froggey&#x2F;Mezzano" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;froggey&#x2F;Mezzano</a> 6. For Clojure: <a href="https:&#x2F;&#x2F;changelog.com&#x2F;posts&#x2F;rich-hickeys-greatest-hits" rel="nofollow">https:&#x2F;&#x2F;changelog.com&#x2F;posts&#x2F;rich-hickeys-greatest-hits</a> 7. <a href="http:&#x2F;&#x2F;yogthos.github.io&#x2F;ClojureDistilled.html" rel="nofollow">http:&#x2F;&#x2F;yogthos.github.io&#x2F;ClojureDistilled.html</a> 8. SICP <a href="https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;sicp&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;sicp&#x2F;</a> 9. Lisp <a href="http:&#x2F;&#x2F;www.gigamonkeys.com&#x2F;book&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.gigamonkeys.com&#x2F;book&#x2F;</a>
mindcrimeover 8 years ago
<a href="http:&#x2F;&#x2F;www.gigamonkeys.com&#x2F;book&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.gigamonkeys.com&#x2F;book&#x2F;</a>
avmichover 8 years ago
I&#x27;d recommend <a href="http:&#x2F;&#x2F;www.michaelnielsen.org&#x2F;ddi&#x2F;lisp-as-the-maxwells-equations-of-software&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.michaelnielsen.org&#x2F;ddi&#x2F;lisp-as-the-maxwells-equat...</a> .<p>A couple of &quot;lower level&quot; explanations - <a href="http:&#x2F;&#x2F;stevelosh.com&#x2F;blog&#x2F;2013&#x2F;03&#x2F;list-out-of-lambda&#x2F;" rel="nofollow">http:&#x2F;&#x2F;stevelosh.com&#x2F;blog&#x2F;2013&#x2F;03&#x2F;list-out-of-lambda&#x2F;</a> (a somewhat easier start) and <a href="http:&#x2F;&#x2F;codon.com&#x2F;programming-with-nothing" rel="nofollow">http:&#x2F;&#x2F;codon.com&#x2F;programming-with-nothing</a> - show where part of the power comes from.
jasonm23over 8 years ago
Emacs...<p>Largely written in Lisp and is a great resource. Also has SLIME which is a fantastic way to develop with Common Lisp.<p>Clojure support in Emacs (via Cider) is also great.<p>Emacs is often the first exposure that many get with Lisp (other than SICP).<p>In terms of nice Lisps to work with I think Clojure is more active as a community than any other dialect, and so it&#x27;s useful for contemporary projects and generally getting help and support and so on.
dontJudgeover 8 years ago
This article is good to get an idea what lisp is all about.<p><a href="http:&#x2F;&#x2F;www.defmacro.org&#x2F;ramblings&#x2F;lisp.html" rel="nofollow">http:&#x2F;&#x2F;www.defmacro.org&#x2F;ramblings&#x2F;lisp.html</a><p>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.<p>Programming in a tree is the &quot;magic&quot; that&#x27;s unique to lisp. And it is a big deal.
评论 #13298179 未加载
评论 #13297630 未加载
cnpover 8 years ago
Check out the edit mode called &quot;parinfer&quot; -- <a href="https:&#x2F;&#x2F;shaunlebron.github.io&#x2F;parinfer&#x2F;" rel="nofollow">https:&#x2F;&#x2F;shaunlebron.github.io&#x2F;parinfer&#x2F;</a><p>It integrates nicely into a number of different editors and takes the initially weird parentheses right out
informatimagoover 8 years ago
<a href="http:&#x2F;&#x2F;cliki.net&#x2F;Getting+Started" rel="nofollow">http:&#x2F;&#x2F;cliki.net&#x2F;Getting+Started</a><p><a href="http:&#x2F;&#x2F;cliki.net&#x2F;Online+Tutorial" rel="nofollow">http:&#x2F;&#x2F;cliki.net&#x2F;Online+Tutorial</a>
martinflackover 8 years ago
Others have mentioned the correct books.<p>When you need libraries: <a href="https:&#x2F;&#x2F;www.quicklisp.org&#x2F;beta&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.quicklisp.org&#x2F;beta&#x2F;</a>