This episode is all about theLispfamily 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'sThe Most Beautiful Program Ever Writtendemonstrates 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 bookHackers(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 manifestiomentions 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 Guileif 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 withSly 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 kindablew up his communityso 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 technicallynot a Lisp either?!
Typed Racket andHackett
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 Languageis a nice little tour of some well known Lisps.
Actually, wejust 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 intoGuile Studio!
Hack & Craft!