LEARN LISP THE HARD WAY
Second Draft (in-progress)
CHANGELOG
TODO
PREFACE
TANSTAAFL
The Hard Way is Easier
Who Is This Book For?
Lisp: A Future History
Acknowledgements
PART ONE
Grokking Lisp
Common Lisp Bootcamp
Syntax Overview in 5 Minutes
The REPL
Expressions, Parentheses, and Return Values
Lists, Cons-Cells, and Memory
Symbols and Namespaces
Prefix Notation
Common Lisp Style Guide
Configuring Your Development Environment
Printing, Streams, and Strings
Strings
More Strings
Unicode and Strings
Characters
More Characters
Character Codes
Strings from Chars
Printing
More Printing
Printing With prin1
Printing With princ
A Brief Introduction to Format
A Little Bit More on Format
Pathnames
Streams
File Streams
Binary Streams
Prompting Users
Pretty-Printing
Extra Credit: Getting Input from Users
Lists and List-Operations
Extra Credit: Look-up Lists and Trees
Numbers and Math
Integers
More Integers
Hexadecimal Integer Notation
Octal Integer Notation
Binary Integer Notation
Ratios and Rational Numbers
Floating-point Numbers
Numeric Constants
Complex Numbers
Arithmetic
More Arithmetic
Even More Arithmetic
Exponents
Logarithms
Trigonometry
Pseudo-Random Numbers
Extra Credit: Arrays and Vectors
Variables, Parameters, and Constants
Extra Credit: Closures
Functions and Macros
Extra Credit: A Simple Text Adventure
Namespaces, Symbols, Packages, and Systems
Extra Credit: A Simple Web Application
Conditionals
Extra Credit: Command-Line Utilities
Mapping and Looping
Extra Credit: Revisiting Loops with Iterate
Format Strings
Extra Credit: Domain Specific Languages
Part One in Review
PART TWO
The Suffusion of Blue
Programming Paradigms
Extra Credit: Regular Expressions
Objects and Control Structures
Extra Credit: Persistence and Databases
Extended Types
Extra Credit: Concurrency and Memoization
Logic and Advanced Math
Extra Credit: Number Theory
Binary Streams, Octet-Vectors, and Bit-Vectors
Extra Credit: An Improved Text Adventure Engine
Conditions and Error Handling
Extra Credit: Write a 2D Game
The Compiler
Extra Credit: Write a Tree-Shaker
Documentation and Inspection
Extra Credit: Foreign Libraries in Lisp
Debugging and Unit Testing
Extra Credit: Write a Foreign Function Interface
Essential Lisp Libraries
Extra Credit: Packaging Lisp Libraries
Detailed Syntax Review
PART THREE
Lisp So(u)rcery
Real-world Web Apps
Typesetting
Native Mobile Applications
Cross-platform Desktop Applications
Drivers, Daemons, and System-Utilities
Reverse Engineering
Graphics Rendering
OpenGL, SDL, and 3D Game Development
Audio Generation and Manipulation
Data Aggregation and Analysis
Cryptography and Security
Financial Software and Crypto-Currencies
Scientific Computing
Computational Physics
Quantum Computing
Natural Language Processing
Artificial Intelligence
Robotics
Space Tech
Neuroscience and Thought-Controlled Computing
A Simple LispOS
Build Your Own Lisp Machine
Government and Military Grade Systems
Published with GitBook
Even More Arithmetic
Exercise 1.6.12
Even More Arithmetic
In the REPL
(
mod
(
+
10
2
)
2
) (
mod
(
+
55
20
)
60
)
What You Should See
* (
mod
(
+
10
2
)
2
)
0
* (
mod
(
+
55
20
)
60
)
15
results matching "
"
No results matching "
"