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!)
- Scheme)
- 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)!