LISP in small pieces. Christian Queinnec, Kathleen Callaway

LISP in small pieces


LISP.in.small.pieces.pdf
ISBN: 0521562473,9780521562478 | 526 pages | 14 Mb


Download LISP in small pieces



LISP in small pieces Christian Queinnec, Kathleen Callaway
Publisher: Cambridge University Press




Chapter 5 of Structure and Interpretation of Computer Programs and chapter 7 of Lisp in Small Pieces both present byte-code interpreting virtual machines for Scheme that are implemented in Scheme. I bought Lisp In Small Pieces, read 19 pages, then struck out on my own, writing a headcase macro to factor out the repetition from the SICP code, and an interpreter. In Lisp In Small Pieces, Christian states that assignment, side-effects, and continuations break referential transparency. Homoiconicity is what makes lisp so appealing to me, ;; far more than most other languages. It looks like the Lisp In Small Pieces for $3.95 craze has met its end. What features from R5RS would have to be removed if one wanted a referentially transparent scheme? The following code snipped from the REPL prompt We're glossing over a few details here, but if you have a little experience working with Lisp then you should have a pretty good idea of how to implement the above. Especially if "advanced" means "higher" position ;) – Heartless Angel Jan 22 '09 at 5:16 +1 for the first set, these are great books to add to the collection. The default Lisp evaluator is eval, we can easily write a Remember F# has a rich set of syntax while a domain language takes a small subset of it is usually enough expressive. The book is no longer listed with a price, nor is it listed as available, except from other sellers. Writing a recursive function to perform that calculation is pretty straight forward, and once we put all of these pieces together in our create-world routine, we have a working proof of concept. The great idea of quotation at least traces back to Lisp, where program is also a kind of data – the execution behavior of a piece of program is completely controllable by the user, just treat it as input data and write a custom evaluator for it. Lisp in Small Pieces builds entire compilers ;; based upon this idea.