Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Contents • Build Your Own Lisp Introduction • Chapter 1
About Who this is for Why learn C How to learn C Why build a Lisp Your own Lisp
Installation • Chapter 2
Setup Text Editor Compiler
Testing the Compiler
Hello World Compilation Errors Documentation Reference Bonus Marks
Basics • Chapter 3
Overview Programs Variables Function Declarations Structure Declarations Pointers Strings Conditionals Loops Bonus Marks
An Interactive Prompt • Chapter 4
Read, Evaluate, Print An Interactive Prompt Compilation Editing input
Using Editline Compiling with Editline
The C Preprocessor Reference Bonus Marks
Languages • Chapter 5
What is a Programming Language? Parser Combinators Coding Grammars Natural Grammars Reference Bonus Marks
Parsing • Chapter 6
Polish Notation Regular Expressions Installing mpc Polish Notation Grammar Parsing User Input Reference Bonus Marks
Evaluation • Chapter 7
Trees Recursion Evaluation Printing Reference Bonus Marks
Error Handling • Chapter 8
Crashes Lisp Value Enumerations Lisp Value Functions Evaluating Errors Plumbing Reference Bonus Marks
S-Expressions • Chapter 9
Lists and Lisps Pointers The Stack & The Heap
The Stack The Heap
Parsing Expressions Expression Structure Constructors & Destructors Reading Expressions Printing Expressions Evaluating Expressions Reference Bonus Marks
Q-Expressions • Chapter 10
Adding Features Quoted Expressions Reading Q-Expressions Builtin Functions First Attempt Macros
Head & Tail List & Eval Join
Builtins Lookup Reference Bonus Marks
Variables • Chapter 11
Immutability Symbol Syntax Function Pointers Cyclic Types Function Type Environment Variable Evaluation Builtins Define Function Error Reporting Reference Bonus Marks
Functions • Chapter 12
What is a Function? Function Type Lambda Function Parent Environment Function Calling Variable Arguments Interesting Functions
Function Definition Currying
Reference Bonus Marks
Conditionals • Chapter 13
Doing it yourself Ordering Equality If Function Recursive Functions Reference Bonus Marks
Strings • Chapter 14
Libraries String Type Reading Strings Comments Load Function Command Line Arguments Print Function Error Function Finishing Up Reference Bonus Marks
Standard Library • Chapter 15
Minimalism Atoms Building Blocks Logical Operators Miscellaneous Functions List Functions Conditional Functions Fibonacci Reference Bonus Marks
Bonus Projects • Chapter 16
Only the Beginning Native Types User Defined Types List Literal Operating System Interaction Macros Variable Hashtable Pool Allocation Garbage Collection Tail Call Optimisation Lexical Scoping Static Typing Conclusion
Credits • Build Your Own Lisp
Special Thanks Beta Readers Image Credits
Frequently Asked Questions
Who are you? Why don't you teach arrays in this book? Why do you use left-handed pointer syntax? Why isn't the language parser written by hand? Why are there no Macros in this Lisp? Where are the answers to the exercises?
• Contents •
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion