Many of us already have at least a passing acquaintance with procedural languages such as BASIC or Pascal, but may not have met a functional language like Lisp before. Using the same enjoyable and sometimes quirky style that they employed so successfully in "The Art of C-Programming", Robin Jones and his team explain the fundamentals of Lisp in a way that students from school to postgraduates will find lucid and stimulating. The book is unique in illustrating the use of Lisp through the development of a realistic project: the design and implementation of a Lisp-based interpreter for the language ABC.
Auflage
Softcover reprint of the original 1st ed. 1990
Sprache
Verlagsort
Verlagsgruppe
Zielgruppe
Für höhere Schule und Studium
Für Beruf und Forschung
Research
Illustrationen
20
20 s/w Abbildungen
XIV, 169 p. 20 illus.
Maße
Höhe: 242 mm
Breite: 170 mm
Dicke: 11 mm
Gewicht
ISBN-13
978-3-540-19568-9 (9783540195689)
DOI
10.1007/978-1-4471-1719-3
Schweitzer Klassifikation
1 Some Basic Ideas.- Lists.- Representing Lists.- The Interpreter.- Functions.- Two More Primitives.- Constants and Variables.- S-Expressions.- Postscript.- Exercises 1.- Answers.- 2 List Functions.- Splitting Lists.- car and cdr.- Setting Up Lists.- setq.- A Piece of Pedantry.- Head and Tail Revisited.- cons.- Postscript.- Exercises 2.- Answers.- 3 Predicates.- cond.- Boolean Functions.- Exercises 3.- Answers.- 4 Recursion.- Powers.- Boolean Functions Revisited.- eq.- Meanwhile Back at the Problem....- null.- AND and OR.- flat.- first.- rest.- The Fly in the Ointment.- append and list.- Postscript.- Exercises 4.- Answers.- 5 A Look Back (and Forward).- Variables: a Sense of Place.- Variable Scope.- Variable Binding.- Free Variables.- Lexical Scoping.- A Software Engineering Problem.- setq.- System Variables.- Exercises 5.- Answers.- 6 Sets and Lists.- Sets of Numbers.- The Set Functions.- Intersection.- disjoint-p.- Subsets.- Complement.- Union.- Exercises 6.- Answers.- 7 Input.- read.- read-line.- Single Characters.- More About #.- Yes or No Responses.- Using the read Primitives.- Exercises 7.- Answers.- 8 Output.- format.- The Control String.- Printing Values.- Format Directives.- Using Arguments as Parameters.- Tabs.- Other Output Functions.- The Telephone Index Again.- The read-eval-print Loop.- The Program-Data Distinction.- Exercises 8.- Answers.- 9 Iterative Constructs.- loop.- return.- do.- The Size of a List.- Iteration v. Recursion.- dotimes.- dolist.- Mapping.- mapcar.- Exercises 9.- Answers.- 10 More About Program Control.- if.- when.- unless.- case.- Synonyms.- Defaults.- Some New Control Constructs.- let.- flet.- progl to progrc.- The Lambda Notation.- Exercises 10.- Answers.- 11 File Handling.- Pathnames.- merge-pathnames.- Streams.- Opening and ClosingFiles.- Keyword Arguments.- The Body.- Other Keyword Arguments.- Getting the File Back.- EOF-ERROR-P and EOF-VALUE.- Exercises 11.- Answers.- 12 Data Structures.- Association Lists.- pairlis.- The Dot Notation.- assoc.- rassoc.- aeons.- setf.- Database Manipulation.- Trees.- Binary Trees.- The Searching Problem.- Implementing a Binary Tree.- Growing a Tree.- Searching the Tree.- Stacks.- push.- pop.- Exercises 12.- Answers.- 13 Arrays, Strings and Structures.- Arrays.- Changing an Array Element.- Multidimensional Arrays.- Strings.- char.- string=.- string