LEARN LISP THE HARD WAY
Second Draft (in-progress)
CHANGELOG
TODO
FAQ
PREFACE
TANSTAAFL
The Hard Way is Easier
Who Is This Book For?
Configuring Your Development Environment
Lisp: A Future History
Acknowledgements
PART ONE: GROKKING LISP
Overview
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
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
Cons-Cells
Consing
Dot-Notation
More Consing
CAR and CDR
More CAR and CDR
Lists
More Lists
Even More CAR and CDR
Stacks
PUSH and POP
More PUSH and POP
FIRST, REST, and LAST
List Position
Appending
More Appending
Circular Lists
Circular Trees
Quoting
More Quoting
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
Overview
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
Overview
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
Logarithms
Exercise 1.6.14
Logarithms
In the REPL
(
log
2
)
(
log
2
10
)
(
log
2
2
)
What You Should See
*
(
log
2
)
0.6931472
*
(
log
2
10
)
0.30103
*
(
log
2
2
)
1.0
results matching "
"
No results matching "
"