Common Lisp Recipes [electronic resource] : A Problem-Solution Approach /
Weitz, Edmund.author.
Find solutions to problems and answers to questions you are likely to encounter when writing real-world applications in Common Lisp. This book covers areas as diverse as web programming, databases, graphical user interfaces, integration with other programming languages, multi-threading, and mobile devices as well as debugging techniques and optimization, to name just a few. Written by an author who has used Common Lisp in many successful commercial projects over more than a decade, Common Lisp Recipes is also the first Common Lisp book to tackle such advanced topics as environment access, logical pathnames, Gray streams, delivery of executables, pretty printing, setf expansions, or changing the syntax of Common Lisp. The book is organized around specific problems or questions each followed by ready-to-use example solutions and clear explanations of the concepts involved, plus pointers to alternatives and more information. Each recipe can be read independently of the others and thus the book will earn a special place on your bookshelf as a reference work you always want to have within reach. Common Lisp Recipes is aimed at programmers who are already familiar with Common Lisp to a certain extent but do not yet have the experience you typically only get from years of hacking in a specific computer language. It is written in a style that mixes hands-on no-frills pragmatism with precise information and prudent mentorship. If you feel attracted to Common Lisp's mix of breathtaking features and down-to-earth utilitarianism, you'll also like this book.
Common Lisp Recipes; Table of Contents; About the Author; About the Technical Reviewer; Preface; Who This Book Is For; Who This Book Is (Probably) Not For; How to Read This Book; What's In and What Not; The HyperSpec; Which Implementation; Source Code; The Index; Typographical Conventions; Acknowledgements; 1. Symbols and Packages; 1-1. Understanding the Role of Packages and the Symbol Nomenclature; 1-2. Making Unique Symbols; 1-3. Making Symbols Inaccessible; How Can We Fix This?; 1-4. Avoiding Name Conflicts; When Name Conflicts Do Not Occur
1-5. Using Symbols As Stand-Ins for Arbitrary Forms1-6. Searching for Symbols by Name; 1-7. Iterating Through All Symbols of a Package; What To Do If You Don't Like LOOP; 1-8. Understanding Common Lisp's Case (In)Sensitivity; Style Hint: Don't Use CamelCase!; 1-9. Using Symbols As String Substitutes; So, What Should You Use?; 1-10. ""Overloading"" of Standard Common Lisp Operators; 2. Conses, Lists, and Trees; 2-1. Understanding Conses; List Access; Testing Whether Something Is a Cons or a List; 2-2. Creating Lists; Converting Vectors to Lists; 2-3. Transposing a Matrix
2-4. Using List Interpolation2-5. Adding Objects to the End of a List; The Tail Wagging the List; 2-6. ""Splicing"" into a List; 2-7. Detecting Shared Structure in Lists; Isolating the Non-Shared Part; 2-8. Working with Trees; More Complicated Trees; Common Lisp's Standard Tree Functions; 2-9. Working with Stacks; 2-10. Implementing a Queue; 2-11. Destructuring and Pattern Matching; 3. Strings and Characters; 3-1. Getting the ASCII Code of a Character; The Other Way Around; The Limit; 3-2. Naming Characters; 3-3. Using Different Character Encodings; 3-4. Comparing Strings or Characters
Internationalization3-5. Escaping Characters in String Literals and Variable Interpolation; Is It Still a Literal?; 3-6. Controlling Case; What About Unicode?; 3-7. Accessing or Modifying a Substring; 3-8. Finding a Character or a Substring Within a String; 3-9. Trimming Strings; 3-10. Processing a String One Character at a Time; 3-11. Joining Strings; 3-12. Reading CSV Data; 4. Numbers and Math; 4-1. Using Arbitrarily Large Integers; 4-2. Understanding Fixnums; 4-3. Performing Modular Arithmetic; Efficiency Considerations; 4-4. Switching Bases
4-5. Performing Exact Arithmetic with Rational NumbersVarious Ways of Converting Numbers to Integers; How Not to Use FLOOR and Friends; Converting Floating-Point Numbers to Rationals and Vice Versa; Mixing Rationals and Floats; 4-6. Controlling the Default Float Format; 4-7. Employing Arbitrary Precision Floats; 4-8. Working with Complex Numbers; 4-9. Parsing Numbers; 4-10. Testing Whether Two Numbers Are Equal; Don't Ever Use EQ with Numbers!; 4-11. Computing Angles Correctly; 4-12. Calculating Exact Square Roots; 5. Arrays and Vectors; 5-1. Working with Multiple Dimensions
5-2. Understanding Vectors and Simple Arrays
Includes index.
Find solutions to problems and answers to questions you are likely to encounter when writing real-world applications in Common Lisp. This book covers areas as diverse as web programming, databases, graphical user interfaces, integration with other programming languages, multi-threading, and mobile devices as well as debugging techniques and optimization, to name just a few. Written by an author who has used Common Lisp in many successful commercial projects over more than a decade, Common Lisp Recipes is also the first Common Lisp book to tackle such advanced topics as environment access, logical pathnames, Gray streams, delivery of executables, pretty printing, setf expansions, or changing the syntax of Common Lisp. The book is organized around specific problems or questions each followed by ready-to-use example solutions and clear explanations of the concepts involved, plus pointers to alternatives and more information. Each recipe can be read independently of the others and thus the book will earn a special place on your bookshelf as a reference work you always want to have within reach. Common Lisp Recipes is aimed at programmers who are already familiar with Common Lisp to a certain extent but do not yet have the experience you typically only get from years of hacking in a specific computer language. It is written in a style that mixes hands-on no-frills pragmatism with precise information and prudent mentorship. If you feel attracted to Common Lisp's mix of breathtaking features and down-to-earth utilitarianism, you'll also like this book.
Programming languages (Electronic computers).
Computer science.
Programming Languages, Compilers, Interpreters.
Computer Science, general.