Lisp
Full Lisp course — 44 topics from the basics to advanced use.
Lessons
- Tail Calls
- Continuations and call/cc
- Hygienic vs Unhygienic Macros
- Lazy Evaluation and Streams
- Lambda Calculus and the Y Combinator
- Symbolic Programming
- Domain-Specific Languages
- Logic Programming
- Object Systems Built from Closures
- Introduction: What Is Lisp?
- Choosing a Lisp and Setting Up
- S-Expressions, Atoms and Lists
- Evaluation, Quote and the REPL
- Cons Cells and List Structure
- Defining Functions and Variables
- Conditionals and Predicates
- Recursion
- The Metacircular Evaluator
- Build a Lisp Interpreter in Python
- Extending Your Interpreter
- Compiling Lisp
- Garbage Collection and Memory
- Concurrency Across Lisps
- Lisp for the Web
- Lisp in AI, Research and Industry
- Tooling
- Lisp History, Culture and Best Practices
- Appendices: Projects, Interview Questions, Cheat Sheet & Study Plan
- Lambda, First-Class and Higher-Order Functions
- Local Bindings, Scope and Closures
- Symbols and Symbolic Computation
- Association Lists, Property Lists and Hash Tables
- Iteration Constructs
- Strings, Characters and I/O
- Homoiconicity: Code Is Data
- Macros
- Scheme in Depth
- Racket
- Common Lisp Overview
- Clojure
- Emacs Lisp
- Other Lisps
- Comparing the Dialects
- Course Overview