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.

Lisp machines

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!

Hack & Craft!