Table of Contents INTRODUCTION WHY I WROTE THIS BOOK ALMIGHTY GETTING STARTED W/DOOM EMACS & LISP INSTALL & SETUP ON MACOS EMACS DICTIONARY SURVIVAL EMACS SURVIVAL LISP COMMANDS SPEEDING UP W/KEYBINDINGS NEED HELP? LISP FUNDAMENTALS SYNTAX & GRAMMAR SYMBOLS FUNCTIONS LISTS CONTROL FLOW ITERATION STRINGS & I/O PUTTING IT ALL TOGETHER: TIC-TAC-TOE EMACS FUNDAMENTALS SUPPORT LEVEL DISCLAIMER SETTING EXPECTATIONS TEXT EDITING BUFFER NAVIGATION & MANAGEMENT WINDOW NAVIGATION & MANAGEMENT PROJECT NAVIGATION & MANAGEMENT LEARNING MORE THE LISP IDE SLY BACKTRACE NAVIGATION TRACING STICKERS STRUCTURED EDITING SLURPING AND BARFING DRAGGING FORMS FORWARD/BACKWARD NAVIGATING THE SEA OF PARENTHESES MORE RESTRUCTURING & NAVIGATING TOOLS BEYOND LISTS OOP HASH-TABLES ARRAYS STRUCTURES THE LOOP MACRO Simple Loops Iterating Over Lists Iterating Over Vectors and Strings Iterating over Hash-Tables Numeric Iteration Accumulation Clauses Conditional Clauses Termination Manually Updated Variable Bindings Parallel Iterating Destructuring The Step Binding Running Code Before The First Iteration Or After The Last Iteration Returning From Named Loops Combining Everything When to Use Something Else A Note on Style: Keywords vs Symbols ERRORS & CONDITIONS Signaling Conditions Defining Conditions Restarts Handling Conditions Preserving Local State Useful Variables & Functions MACROS The almighty-html </> macro The sxql macro The Coalton language Compilation Before Evaluation Defining Macros Redefining Macros Determining When To Use Macros Determining When Not To Use Macros Variable Capture & Hygiene Much More ORGANIZING CODE Packages Systems Styles of Factoring Packages & Systems The Great Debate: Package & System Best Practices THE ECOSYSTEM ULTRALISP QLOT OCICL VEND Project: Money Library Project Setup A Money Type Making Money Adding money The rest of the math functions Improving Ergonomics Formatting for Human Consumption Adding Currencies Project: Accounting Library Requirements Testing & Examples Dependencies Vendor Your Dependencies Project Setup Introducing Our Dependencies Why SQL? Accounts Transactions Legs Playing around Account Balance Long-term problems Optimization Example Usage Tests DEPLOYING EXECUTABLE CLI APPS EXECUTABLE WEB APP RESOURCES LISP EMACS