This episode is all about the Lisp family of programming languages! Ever looked at Lisp and wondered why so many programmers gush about such a weird looking programming language style? What's with all those parentheses? Surely there must be something you get out of them for so many programming nerds to gush about the language! We do a light dive into Lisp's history, talk about what makes Lisp so powerful, and nerd out about the many, many kinds of Lisps out there!
Announcement: Christine is gonna give an intro-to-Scheme tutorial at our next Hack & Craft! Saturday July 2nd, 2022 at 20:00-22:00 ET! Come and learn some Scheme with us!
Links:
Various histories of Lisp:
History of Lisp by John McCarthy
The Evolution of Lisp by Guy L. Steele and Richard P. Gabriel
History of LISP by Paul McJones
William Byrd's The Most Beautiful Program Ever Written demonstrates just how easy it is to write lisp in lisp, showing off the kernel of evaluation living at every modern programming language!
M-expressions (the original math-notation-vision for users to operate on) vs S-expressions (the structure Lisp evaluators actually operate at, in direct representational mirror of the typically, but not necessarily, parenthesized representation of the same).
Lisp-1 vs Lisp-2... well, rather than give a simple link and analysis, have a thorough one.
MIT's CADR was the second iteration of the lisp machine, and the most influential on everything to come. Then everything split when two separate companies implemented it...
Lisp Machines, Incorporated (LMI), founded by famous hacker Richard Greenblatt, who aimed to keep the MIT AI Lab hacker culture alive by only hiring programmers part-time.
Symbolics was the other rival company. Took venture capital money, was a commercial success for quite a while.
These systems were very interesting, there's more to them than just the rivalry. But regarding that, the book Hackers (despite its issues) captures quite a bit about the AI lab before this and then its split, including a ton of Lisp history.
Some interesting things happening over at lisp-machine.org
The GNU manifestio mentions Lisp quite a bit, including that the plan was for the system to be mostly C and Lisp.
Worse is Better, including the original (but the first of those two links provides a lot of context)
The AI winter. Bundle up, lispers!
Symbolics' Mac Ivory
RISC-V tagged architecture, plus this lowRISC tagged memory tutorial. (We haven't read these yet, but they're on the reading queue!)
There's a lot of these... we recommend Guile if you're interested in using Emacs (along with Geiser), and Racket if you're looking for a more gentle introduction (DrRacket, which ships with Racket, is a friendly introduction)
The R5RS and R7RS-small specs are very short and easy to read especially
See this section of the Guile manual for a bit of... history
Common Lisp... which, yeah there are multiple implementations, but these days really means SBCL with Sly or SLIME
Clojure introduced functional datastructures to the masses (okay, maybe not the masses). Neat stuff, though not a great license choice (even if technically FOSS) in our opinion and Rich Hickey kinda blew up his community so maybe use something else these days.
Hy, always hy-larious
Fennel, cutest lil' Lua Lisp you've ever seen
Webassembly's text syntax isn't technically a Lisp, but let's be honest... is it technically not a Lisp either?!
Typed Racket and Hackett
Emacs... Lisp?... well let's just give you the tutorial! The dreams of the 60s-80s are alive in Emacs.
The Many Faces of an Undying Programming Language is a nice little tour of some well known Lisps.
Actually, we just did an episode about Emacs, didn't we?
Digital Humanities Workshops episode
We guess if you wanted to use Racket and VS Code, you could use Magic Racket?! We dunno, we've never used VS Code! (Are we out of touch?!)
What about for Guile?! Someone put some energy into Guile Studio!