By W. Richard Stark
Here is a presentation of LISP that is either functional and theoretical. For the sensible, the syntax of the language, the programming kinds, and the semantics of computation are rigorously constructed. For the theoretical, the algebra of interpreters, the lambda calculus as a origin for LISP, and the algebraic importance of LISP's method of man made intelligence are mentioned. because the identify indicates, the booklet reaches past the technical part of LISP to provide colourful purposes, historic reviews and quotations, computational philosophy, effects of LISP's extraordinary energy, and lots more and plenty extra. the fabric has been designed to entice various readers, from the brilliant freshman to the working towards specialist, and from laptop scientists and mathematicians to chemists, engineers, and philosophers.
Read or Download LISP, Lore, and Logic: An Algebraic View of LISP Programming, Foundations, and Applications PDF
Best compilers books
Initially released in 1981, this used to be the 1st textbook on programming within the Prolog language and remains to be the definitive introductory textual content on Prolog. even though many Prolog textbooks were released when you consider that, this one has withstood the try out of time as a result of its comprehensiveness, instructional process, and emphasis on common programming functions.
- Fundamental Approaches to Software Engineering: 13th International Conference, FASE 2010, Held as Part of the Joint European Conferences on Theory and
- Modelling Foundations and Applications: 10th European Conference, ECMFA 2014, Held as Part of STAF 2014, York, UK, July 21-25, 2014. Proceedings
- Pattern Calculus: Computing with Functions and Structures
- Programming in Prolog
Extra info for LISP, Lore, and Logic: An Algebraic View of LISP Programming, Foundations, and Applications
Goldbach's conjecture is the simple and unsolved assertion made in the first sentence of this example. Example 18: Let L be a Boolean-valued function of Boolean variables Vl , V2 , V3, v 4. , as in the dictionary) Boolean ordering of values for Vl , V2 , V3 , V4, as follows: Vl=NIL =NIL =NIL V2=NIL =NIL =NIL V3=NIL =NIL =T V4=NIL =T =NIL ; first binding ; second binding ;third binding =T =T =T =T ;last binding. The function BOOLEAN-SE;ARCH will use B-NEXT (a "next" function analogous to 1 +, but for lists of Boolean values).
The last node is defined by LAST(node). We will use L-CHILD, R-CHILD, and TERMINAL to define our movement through the tree, and NODE-TEST and LAST to limit our search. For example, * (DEFUN DF-SEARCH (N) (PRINT N) iprint search position (COND ((NODE-TEST N) N) isolution found, end search ((TERMINAL N) iterminal node (NOT (LAST N» ibacktrack and continue if not last node ((EQ T (SETQ TEMP (DF-SEARCH (L-CHILD N»» i i f T after searching L subtree (DF-SEARCH (R-CHILD N» ) ithen search R subtree (TEMP TEMP) iif TEMP is nonNIL, then TEMP is the node (T NIL) ino node satisfies TEST-NODE,end search ) ) ==> DF-SEARCH .
DEFUN NUMBER-SEARCH (N) (IF ;If (NOT (P-SUM N)) ;if we have found the exception N ;then return it, (NUMBER-SEARCH (+ 2 N)) )) ;else keep looking. ==> NUMBER-SEARCH If NIL = P-SUM(n) has a solution in the even integers greater than 2, then the least solution is the value returned by (NUMBER-SEARCH 4), and we have proved the assertion to be false. If no solution exists, then (NUMBER-SEARCH 4) never returns a value. This example deals with a mathematical claim known as Goldbach's conjecture. Goldbach's conjecture is the simple and unsolved assertion made in the first sentence of this example.