331 lines
5.2 KiB
Markdown
331 lines
5.2 KiB
Markdown
---
|
|
created_at: '2015-03-23T13:58:03.000Z'
|
|
title: Let Over Lambda (2008)
|
|
url: http://letoverlambda.com/index.cl/toc
|
|
author: weavie
|
|
points: 77
|
|
story_text:
|
|
comment_text:
|
|
num_comments: 16
|
|
story_id:
|
|
story_title:
|
|
story_url:
|
|
parent_id:
|
|
created_at_i: 1427119083
|
|
_tags:
|
|
- story
|
|
- author_weavie
|
|
- story_9250877
|
|
objectID: '9250877'
|
|
|
|
---
|
|
[Source](https://letoverlambda.com/index.cl/toc "Permalink to Let Over Lambda")
|
|
|
|
# Let Over Lambda
|
|
|
|
|
|
| ----- |
|
|
|
|
|
|
|
# Let Over Lambda—50 Years of Lisp
|
|
|
|
## by Doug Hoyte
|
|
|
|
|
|
|
|
|
| ----- |
|
|
|
|
|
|
|
| [About the Book][1]
|
|
|
|
|
| [Table of Contents][2]
|
|
| |
|
|
| [Text Mode][3]
|
|
|
|
|
| [Reviews][4]
|
|
|
|
|
| [Buy It][5]
|
|
|
|
|
| [Errata][6]
|
|
|
|
|
| [Clarifications][7]
|
|
|
|
|
| [Production Code][8]
|
|
|
|
|
| [Original Code][9]
|
|
|
|
|
| [References][10]
|
|
|
|
|
| ![Support independent publishing: buy this book on Lulu.][11]
|
|
|
|
|
|
|
|
|
|
|
|
| ----- |
|
|
| WARNING: Javascript is required to read the online chapters. Alternatively, see the [text mode][3].
|
|
|
|
## Table of Contents
|
|
|
|
### Edition 1.0
|
|
|
|
1. Introduction
|
|
|
|
[Introduction][12]
|
|
1. Macros
|
|
|
|
[Macros][12]
|
|
2. U-Language
|
|
|
|
[U-Language][12]
|
|
3. The Lisp Utility
|
|
|
|
[The Lisp Utility][12]
|
|
4. License
|
|
|
|
[License][12]
|
|
5. Thanks
|
|
|
|
[Thanks][12]
|
|
2. Closures
|
|
|
|
[Closures][12]
|
|
1. Closure-Oriented Programming
|
|
|
|
[Closure-Oriented Programming][12]
|
|
2. Environments and Extent
|
|
|
|
[Environments and Extent][12]
|
|
3. Lexical and Dynamic Scope
|
|
|
|
[Lexical and Dynamic Scope][12]
|
|
4. Let It Be Lambda
|
|
|
|
[Let It Be Lambda][12]
|
|
5. Let Over Lambda
|
|
|
|
[Let Over Lambda][12]
|
|
6. Lambda Over Let Over Lambda
|
|
|
|
[Lambda Over Let Over Lambda][12]
|
|
7. Let Over Lambda Over Let Over Lambda
|
|
|
|
[Let Over Lambda Over Let Over Lambda][12]
|
|
3. Macro Basics
|
|
|
|
[Macro Basics][12]
|
|
1. Iterative Development
|
|
|
|
[Iterative Development][12]
|
|
2. Domain Specific Languages
|
|
|
|
[Domain Specific Languages][12]
|
|
3. Control Structures
|
|
|
|
[Control Structures][12]
|
|
4. Free Variables
|
|
|
|
[Free Variables][12]
|
|
5. Unwanted Capture
|
|
|
|
[Unwanted Capture][12]
|
|
6. Once Only
|
|
|
|
[Once Only][12]
|
|
7. Duality of Syntax
|
|
|
|
[Duality of Syntax][12]
|
|
4. Read Macros
|
|
|
|
[Read Macros][12]
|
|
1. Run-Time at Read-Time
|
|
|
|
[Run-Time at Read-Time][12]
|
|
2. Backquote
|
|
|
|
[Backquote][12]
|
|
3. Reading Strings
|
|
|
|
[Reading Strings][12]
|
|
4. CL-PPCRE
|
|
|
|
[CL-PPCRE][12]
|
|
5. Cyclic Expressions
|
|
|
|
[Cyclic Expressions][12]
|
|
6. Reader Security
|
|
|
|
[Reader Security][12]
|
|
5. Programs That Program
|
|
|
|
[Programs That Program][12]
|
|
1. Lisp Is Not Functional
|
|
|
|
[Lisp Is Not Functional][12]
|
|
2. Top-Down Programming
|
|
|
|
[Top-Down Programming][12]
|
|
3. Implicit Contexts
|
|
|
|
[Implicit Contexts][12]
|
|
4. Code-Walking with Macrolet
|
|
|
|
[Code-Walking with Macrolet][12]
|
|
5. Recursive Expansions
|
|
|
|
[Recursive Expansions][12]
|
|
6. Recursive Solutions
|
|
|
|
[Recursive Solutions][12]
|
|
7. Dlambda
|
|
|
|
[Dlambda][12]
|
|
6. Anaphoric Macros
|
|
|
|
[Anaphoric Macros][12]
|
|
1. More Phors?
|
|
|
|
[More Phors?][12]
|
|
2. Sharp-Backquote
|
|
|
|
[Sharp-Backquote][12]
|
|
3. Alet and Finite State Machines
|
|
|
|
[Alet and Finite State Machines][12]
|
|
4. Indirection Chains
|
|
|
|
[Indirection Chains][12]
|
|
5. Hotpatching Closures
|
|
|
|
[Hotpatching Closures][12]
|
|
6. Sub-Lexical Scope
|
|
|
|
[Sub-Lexical Scope][12]
|
|
7. Pandoric Macros
|
|
|
|
[Pandoric Macros][12]
|
|
7. Macro Efficiency Topics
|
|
|
|
[Macro Efficiency Topics][12]
|
|
1. Lisp Is Fast
|
|
|
|
[Lisp Is Fast][12]
|
|
2. Macros Make Lisp Fast
|
|
|
|
[Macros Make Lisp Fast][12]
|
|
3. Getting To Know Your Disassembler
|
|
|
|
[Getting To Know Your Disassembler][12]
|
|
4. Pointer Scope
|
|
|
|
[Pointer Scope][12]
|
|
5. Tlists and Cons Pools
|
|
|
|
[Tlists and Cons Pools][12]
|
|
6. Sorting Networks
|
|
|
|
[Sorting Networks][12]
|
|
7. Writing and Benchmarking Compilers
|
|
|
|
[Writing and Benchmarking Compilers][12]
|
|
8. Lisp Moving Forth Moving Lisp
|
|
|
|
[Lisp Moving Forth Moving Lisp][12]
|
|
1. Weird By Design
|
|
|
|
[Weird By Design][12]
|
|
2. Cons Threaded Code
|
|
|
|
[Cons Threaded Code][12]
|
|
3. Duality of Syntax, Defined
|
|
|
|
[Duality of Syntax, Defined][12]
|
|
4. Going Forth
|
|
|
|
[Going Forth][12]
|
|
5. Going Forther
|
|
|
|
[Going Forther][12]
|
|
6. Going Lisp
|
|
|
|
[Going Lisp][12]
|
|
|
|
* * *
|
|
|
|
### Appendices
|
|
|
|
1. Languages to Learn
|
|
|
|
[Languages to Learn][12]
|
|
1. Road to Lisp
|
|
|
|
[Road to Lisp][12]
|
|
2. C and Perl
|
|
|
|
[C and Perl][12]
|
|
3. Lisp Incubators
|
|
|
|
[Lisp Incubators][12]
|
|
2. Languages to Avoid
|
|
|
|
[Languages to Avoid][12]
|
|
1. Opinion
|
|
|
|
[Opinion][12]
|
|
2. Blub Central
|
|
|
|
[Blub Central][12]
|
|
3. Niche Blub
|
|
|
|
[Niche Blub][12]
|
|
3. Implementations
|
|
|
|
[Implementations][12]
|
|
1. CMUCL/SBCL
|
|
|
|
[CMUCL/SBCL][12]
|
|
2. CLISP
|
|
|
|
[CLISP][12]
|
|
3. Others
|
|
|
|
[Others][12]
|
|
4. Lisp Editors
|
|
|
|
[Lisp Editors][12]
|
|
1. emacs
|
|
|
|
[emacs][12]
|
|
2. vi
|
|
|
|
[vi][12]
|
|
|
|
* * *
|
|
|
|
[References][10]
|
|
|
|
References by Author
|
|
|
|
Index
|
|
|
|
|
|
|
|
|
|
|
|
|
|
λ
|
|
|
|
All material is (C) Doug Hoyte unless otherwise noted or implied. All rights reserved.
|
|
|
|
[1]: https://letoverlambda.com/index.cl
|
|
[2]: https://letoverlambda.com/index.cl/toc
|
|
[3]: https://letoverlambda.com/textmode.cl
|
|
[4]: https://letoverlambda.com/index.cl/reviews
|
|
[5]: https://letoverlambda.com/index.cl/buy
|
|
[6]: https://letoverlambda.com/index.cl/errata
|
|
[7]: https://letoverlambda.com/index.cl/clarifications
|
|
[8]: https://letoverlambda.com/lol.lisp
|
|
[9]: https://letoverlambda.com/lol-orig.lisp
|
|
[10]: https://letoverlambda.com/references.lisp
|
|
[11]: https://www.lulu.com/images/services/buy_now_buttons/en/gray.gif
|
|
[12]: https://letoverlambda.com/
|
|
|