Remix.run Logo
ErroneousBosh 6 hours ago

This is about the fourth article I've read that mentions Lisp today on here.

Okay, I get it. Lisp is great.

Where should I start? It wasn't like I was planning on doing anything else at work next week...

CobrastanJorji 6 hours ago | parent | next [-]

You're kind of in luck. For a while, it was trendy (because MIT was doing it) to teach Intro to Programming with Lisps, especially Scheme. Because of this, there are quite a few "learn programming with Lisp" books and resources. The famous "SICP" book was the textbook for the MIT course and all of the examples were Lisp (there's a newer version that uses JavaScript, I think). There are loads of fine online books and guides. Here's a random online book: https://gigamonkeys.com/book/

In no time you'll be putting up "my other car is a cdr" bumper stickers!

ErroneousBosh 6 hours ago | parent [-]

> In no time you'll be putting up "my other car is a cdr" bumper stickers!

Yeah but then learning Lisp is going to get in the way of welding up new bumper brackets, and the bumper will still be lying in the pile of things beside the shed waiting to be reattached... ;-)

rmunn an hour ago | parent | prev | next [-]

Everyone's recommending books; I'm going to do the opposite and recommend a specific dialect.

Install Clojure. Read https://clojure.org/guides/getting_started and choose an editor. If you don't have a favorite editor, I recommend NeoVim with the LazyVim package (clone https://github.com/LazyVim/starter and follow instructions), then run the :LazyExtras command and install the Clojure package. If you haven't used LazyVim before, https://lazyvim-ambitious-devs.phillips.codes/ is a good book; you can read it online for free, then if you find it useful, purchase a copy to reward the author for his hard work.

Once you've installed an editor, you'll want to install https://leiningen.org/ which is the de facto (if not de jure) package manager for Clojure. Makes compiling your Clojure code to an .exe (for distribution to other machines where Clojure isn't installed) about as simple as it can be.

Once you've got an editor and a package manager installed, you're ready to read https://clojure.org/guides/learn/clojure as well as the various books on Lisp others are recommending. Depending on which book it is, the functions may have different names (e.g., some languages use `first` and `rest` while others stick with the historical `car` and `cdr` names, but they're the same functions), but you should find that the concepts translate perfectly well from one dialect of Lisp to another and the only challenge is having to look up what name the function has in the dialect you're using.

jasaldivara 6 hours ago | parent | prev | next [-]

I suggest: A Gentle Introduction to Symbolic Computation

https://www.cs.cmu.edu/~dst/LispBook/book.pdf

WorldMaker 4 hours ago | parent | prev | next [-]

In Grad School I started with an "AI in Lisp Textbook" (which was still the most common at the time in the late oughts, I hear many have moved to Python since) and searched for a Common Lisp interpreter that felt right. I think I ended up with SBCL [0], but this was obviously a while back so my memory is slippery about it.

(The professor I had for that AI course in Grad School didn't know Lisp and wanted to learn it better, especially because so much of the textbook was in it, so asked us for volunteers to learn it as well and I took that as an excuse/challenge to do every project with a language choice that semester in Common Lisp.)

[0] https://www.sbcl.org/

SteveJS 5 hours ago | parent | prev | next [-]

The summer before i took 6.001 i read “The little LISPer”. It is a good intro.

This is the version i read:

https://www.abebooks.com/9780023397639/Little-LISPer-Third-E...

mghackerlady 6 hours ago | parent | prev | next [-]

With lisp? Honestly I'd start by installing emacs and messing with elisp. It comes with a beginners guide to elisp with the docs iirc

jsdalton 6 hours ago | parent | prev [-]

Start with SICP!