onlyafly / lisp-bibliography

A bibliography of reading material on Lisps (Common Lisp, Scheme, Clojure, etc.) and related research

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A Lisp Bibliography

by Kevin Albrecht

A bibliography of reading material on Lisps (Common Lisp, Scheme, Clojure, etc.) and related research. Sometimes only quite vaguely related...

I prefer resources that are broadly applicable over ones that are highly specific, which means that I am heavy on things that teach you ideas and concepts over technologies. Technologies are transitory, while concepts will be with you forever.

Table of Contents

Note: Table of contents generated by Atom's markdown-toc package. Will automatically update on save if the package is installed.

Grading Key

  • 3 - Must read for all developers.
  • 2 - Every developer interested in the topic should see/read it.
  • 1 - Could be useful for developers interested in the topic.

Todo

Meta Lists

In Defense of Programming Languages

Lambda Calculus

Monads

Concurrency

Multiversion Concurrency Control / Transactional Memory

Communicating Sequential Processes

Lisps that are influenced by CSP:

Go's Concurrency Patterns:

Lisp Implementation

  • "Implementing Lisp" at c2.com
  • "Three Implementation Models for Scheme" by R. Kent Dybvig (pdf)
    • Describes two interesting interpreters/compilers: the heap based model is the easiest to implement, but the stack based is more efficient. Cover

Metacircular Interpreters

  • "A Micro-Manual for Lisp - Not the Whole Truth" by John McCarthy (pdf)
    • Two page paper describing a "complete" Lisp interpreter for a pure Lisp.
  • "Lisp in Small Pieces" by Christian Queinnec (Amazon)
    • The ultimate guide to metacircular interpreters, and compilers.
  • “Structure and Interpretation of Computer Programs” (web, video lectures, Kindle)

Macro Implementation

First-Class Macros

  • "First-Class Macros" by Matt Might
    • Comprehensive explanation of first-class macros and their effect on the implementation of the interpreter, with special emphasis on a metacircular interpreters.

Hygiene in Macros

Macros - Other

Compilation

Compiling to C-like

Implementing Tail Call Optimization

Implementing Continuations

Also referenced elsewhere in this bibliography

  • "Three Implementation Models for Scheme" by R. Kent Dybvig
  • Chapter 3 of "Lisp in Small Pieces" by Christian Queinnec

Typing

About

A bibliography of reading material on Lisps (Common Lisp, Scheme, Clojure, etc.) and related research

License:MIT License