logo
Product categories

EbookNice.com

Most ebook files are in PDF format, so you can easily read them using various software such as Foxit Reader or directly on the Google Chrome browser.
Some ebook files are released by publishers in other formats such as .awz, .mobi, .epub, .fb2, etc. You may need to install specific software to read these formats on mobile/PC, such as Calibre.

Please read the tutorial at this link.  https://ebooknice.com/page/post?id=faq


We offer FREE conversion to the popular formats you request; however, this may take some time. Therefore, right after payment, please email us, and we will try to provide the service as quickly as possible.


For some exceptional file formats or broken links (if any), please refrain from opening any disputes. Instead, email us first, and we will try to assist within a maximum of 6 hours.

EbookNice Team

(Ebook) Lisp in small pieces 1st Edition by Christian Queinnec, Kathleen Callaway ISBN 9780521545662 0521545668

  • SKU: EBN-11839260
Zoomable Image
$ 32 $ 40 (-20%)

Status:

Available

4.7

28 reviews
Instant download (eBook) Lisp in small pieces after payment.
Authors:Christian Queinnec; Kathleen Callaway
Pages:514 pages.
Year:2003
Editon:1. paperback ed
Publisher:Cambridge Univ. Press
Language:english
File Size:25.1 MB
Format:pdf
ISBNS:9780521545662, 9780521562478, 0521545668, 0521562473
Categories: Ebooks

Product desciption

(Ebook) Lisp in small pieces 1st Edition by Christian Queinnec, Kathleen Callaway ISBN 9780521545662 0521545668

(Ebook) Lisp in small pieces 1st Edition by Christian Queinnec, Kathleen Callaway - Ebook PDF Instant Download/Delivery: 9780521545662 ,0521545668
Full download (Ebook) Lisp in small pieces 1st Edition after payment


Product details:

ISBN 10: 0521545668
ISBN 13: 9780521545662
Author: Christian Queinnec, Kathleen Callaway

This is a comprehensive account of the semantics and the implementation of the whole Lisp family of languages, namely Lisp, Scheme and related dialects. It describes 11 interpreters and 2 compilers, including very recent techniques of interpretation and compilation. The book is in two parts. The first starts from a simple evaluation function and enriches it with multiple name spaces, continuations and side-effects with commented variants, while at the same time the language used to define these features is reduced to a simple lambda-calculus. Denotational semantics is then naturally introduced. The second part focuses more on implementation techniques and discusses precompilation for fast interpretation: threaded code or bytecode; compilation towards C. Some extensions are also described such as dynamic evaluation, reflection, macros and objects. This will become the new standard reference for people wanting to know more about the Lisp family of languages: how they work, how they are implemented, what their variants are and why such variants exist. The full code is supplied (and also available over the Net). A large bibliography is given as well as a considerable number of exercises. Thus it may also be used by students to accompany second courses on Lisp or Scheme.
 

(Ebook) Lisp in small pieces 1st Edition Table of contents:

1 The Basics of Interpretation

1.1 Evaluation

1.2 Basic Evaluator

1.3 Evaluating Atoms

1.4 Evaluating Forms

1.4.1 Quoting

1.4.2 Alternatives

1.4.3 Sequence

1.4.4 Assignment

1.4.5 Abstraction

1.4.6 Functional Application

1.5 Representing the Environment

1.6 Representing Functions

1.6.1 Dynamic and Lexical Binding

1.6.2 Deep or Shallow Implementation

1.7 Global Environment

1.8 Starting the Interpreter

1.9 Conclusions

1.10 Exercises

2 Lisp, 1, 2, … w

2.1 Lisp[sub(1)]

2.2 Lisp[sub(2)]

2.2.1 Evaluating a Function Term

2.2.2 Duality of the Two Worlds

2.2.3 Using Lisp[sub(2)]

2.2.4 Enriching the Function Environment

2.3 Other Extensions

2.4 Comparing LisP[sub(1)] and Lisp[sub(2)]

2.5 Name Spaces

2.5.1 Dynamic Variables

2.5.2 Dynamic Variables in COMMON LISP

2.5.3 Dynamic Variables without a Special Form

2.5.4 Conclusions about Narne Spaces

2.6 Recursion

2.6.1 Simple Recursion

2.6.2 Mutual Recursion

2.6.3 Local Recursion in Lisp[sub(2)]

2.6.4 Local Recursion in LisP[sub(1)]

2.6.5 Creating Uninitialized Bindings

2.6.6 Recursion without Assignment

2.7 Conclusions

2.8 Exercises

3 Escape & Return: Continuations

3.1 Forms for Handling Continuations

3.1.1 The Pair catch/throw

3.1.2 The Pair block/return-from

3.1.3 Escapes with a Dynamic Extent

3.1.4 Comparing catch and block

3.1.5 Escapes with Indefinite Extent

3.1.6 Protection

3.2 Actors in a Computation

3.2.1 A Brief Review about Objects

3.2.2 The Interpreter for Continuations

3.2.3 Quoting

3.2.4 Alternatives

3.2.5 Sequence

3.2.6 Variable Environment

3.2.7 Functions

3.3 Initializing the Interpreter

3.4 Implementing Control Forms

3.4.1 Implementation of call/cc

3.4.2 Implementation of catch

3.4.3 Implementation of block

3.4.4 Implementation of unwind-protect

3.5 Comparing call/cc to catch

3.6 Programming by Continuations

3.6.1 Multiple Values

3.6.2 Tail Recursion

3.7 Partial Continuations

3.8 Conclusions

3.9 Exercises

4 Assignment and Side Effects

4.1 Assignment

4.1.1 Boxes

4.1.2 Assignment of Free Variables

4.1.3 Assignment of a Predefined Variable

4.2 Side Effects

4.2.1 Equality

4.2.2 Equality between Functions

4.3 Implementation

4.3.1 Conditional

4.3.2 Sequence

4.3.3 Environment

4.3.4 Reference to a Variable

4.3.5 Assignment

4.3.6 Functional Application

4.3.7 Abstraction

4.3.8 Memory

4.3.9 Representing Values

4.3.10 A Comparison to Object Programming

4.3.11 Initial Environment

4.3.12 Dotted Pairs

4.3.13 Comparisons

4.3.14 Starting the Interpreter

4.4 Input/Output and Memory

4.5 Semantics of Quotations

4.6 Conclusions

4.7 Exercises

5 Denotational Semantics

5.1 A Brief Review of A-Calculus

5.2 Semantics of Scheme

5.2.1 References to a Variable

5.2.2 Sequence

5.2.3 Conditional

5.2.4 Assignment

5.2.5 Abstraction

5.2.6 Functional Application

5.2.7 call/cc

5.2.8 Tentative Conclusions

5.3 Semantics of [lambda]-calcul

5.4 Functions with Variable Arity

5.5 Evaluation Order for Applications

5.6 Dynamic Binding

5.7 Global Environment

5.7.1 Global Environment in Scheme

5.7.2 Automatically Extendable Environment

5.7.3 Hyperstatic Environment

5.8 Beneath This Chapter

5.9 [lambda]-calculus and Scheme

5.9.1 Passing Continuations

5.9.2 Dynamic Environment

5.10 Conclusions

5.11 Exercises

6 Fast Interpretation

6.1 A Fast Interpreter

6.1.1 Migration of Denotations

6.1.2 Activation Record

6.1.3 The Interpreter: the Beginning

6.1.4 Classifying Variables

6.1.5 Starting the Interpreter

6.1.6 Functions with Variable Arity

6.1.7 Reducible Forms

6.1.8 Integrating Primitives

6.1.9 Variations on Environments

6.1.10 Conclusions: Interpreter with Migrated Computations

6.2 Rejecting the Environment

6.2.1 References to Variables

6.2.2 Alternatives

6.2.3 Sequence

6.2.4 Abstraction

6.2.5 Applications

6.2.6 Conclusions: Interpreter with Environment in a Register

6.3 Diluting Continuations

6.3.1 Closures

6.3.2 The Pretreater

6.3.3 Quoting

6.3.4 References

6.3.5 Conditional

6.3.6 Assignment

6.3.7 Sequence

6.3.8 Abstraction

6.3.9 Application

6.3.10 Reducible Forms

6.3.11 Calling Primitives

6.3.12 Starting the Interpreter

6.3.13 The Function call/cc

6.3.14 The Function apply

6.3.15 Conclusions: Interpreter without Continuations

6.4 Conclusions

6.5 Exercises

7 Compilation

7.1 Compiling into Bytes

7.1.1 Introducing the Register *val*

7.1.2 Inventing the Stack

7.1.3 Customizing Instructions

7.1.4 Calling Protocol for Functions

7.2 Language and Target Machine

7.3 Disassembly

7.4 Coding Instructions

7.5 Instructions

7.5.1 Local Variables

7.5.2 Global Variables

7.5.3 Jumps

7.5.4 Invocations

7.5.5 Miscellaneous

7.5.6 Starting the Compiler-Interpreter

7.5.7 Catching Our Breath

7.6 Continuations

7.7 Escapes

7.8 Dynamic Variables

7.9 Exceptions

7.10 Compiling Separately

7.10.1 Compiling a File

7.10.2 Building an Application

7.10.3 Executing an Application

7.11 Conclusions

7.12 Exercises

8 Evaluation & Reflection

8.1 Programs and Values

8.2 eval as a Special Form

8.3 Creating Global Variables

8.4 eval as a Function

8.5 The Cost of eval

8.6 Interpreted eval

8.6.1 Can Representations Be Interchanged?

8.6.2 Global Environment.

8.7 Reifying Environments

8.7.1 Special Form export

8.7.2 The Function eval/b

8.7.3 Enriching Environments

8.7.4 Reifying a Closed Environment

8.7.5 Special Form import

8.7.6 Simplified Access to Environments

8.8 Reflective Interpreter

8.9 Conclusions

8.10 Exercises

9 Macros: Their Use & Abuse

9.1 Preparation for Macros

9.1.1 Multiple Worlds

9.1.2 Unique World

9.2 Macro Expansion

9.2.1 Exogenous Mode

9.2.2 Endogenous Mode

9.3 Calling Macros

9.4 Expanders

9.5 Acceptability of an Expanded Macro

9.6 Defining Macros

9.6.1 Multiple Worlds

9.6.2 Unique World

9.6.3 Simultaneous Evaluation

9.6.4 Redefining Macros

9.6.5 Comparisons

9.7 Scope of Macros

9.8 Evaluation and Expansion

9.9 Using Macros

9.9.1 Other Characteristics

9.9.2 Code Walking

9.10 Unexpected Captures

9.11 A Macro System

9.11.1 Objectification-Making Objects

9.11.2 Special Forms

9.11.3 Evaluation Levels

9.11.4 The Macros

9.11.5 Limits

9.12 Conclusions

9.13 Exercises

10 Compiling into C

10.1 Objectification

10.2 Code Walking

10.3 Introducing Boxes

10.4 Eliminating Nested Functions

10.5 Collecting Quotations and Functions

10.6 Collecting Temporary Variables

10.7 Taking a Pause

10.8 Generating C

10.8.1 Global Environment

10.8.2 Quotations

10.8.3 Declaring Data

10.8.4 Compiling Expressions

10.8.5 Compiling Functional Applications

10.8.6 Predefined Environment

10.8.7 Compiling Functions

10.8.8 Initializing the Program

10.9 Representing Data

10.9.1 Declaring Values

10.9.2 Global Variables

10.9.3 Defining Functions

10.10 Execution Library

10.10.1 Allocation

10.10.2 Functions on Pairs

10.10.3 Invocation

10.11 call/cc: To Have and Have Not

10.11.1 The Function call/ep

10.11.2 The Function call/cc

10.12 Interface with C

10.13 Conclusions

10.14 Exercises

11 Essence of an Object System

11.1 Foundations

11.2 Representing Objects

11.3 Defining Classes

11.4 Other Problems

11.5 Representing Classes

11.6 Accompanying Functions

11.6.1 Predicates

11.6.2 Allocator without Initialization

11.6.3 Allocator with Initialization

11.6.4 Accessing Fields

11.6.5 Accessors for Reading Fields

11.6.6 Accessors for Writing Fields

11.6.7 Accessors for Length of Fields

11.7 Creating Classes

11.8 Predefined Accompanying Functions

11.9 Generic Functions

11.10 Method

11.11 Conclusions

11.12 Exercises

Answers to Exercises

Bibliography

Index

People also search for (Ebook) Lisp in small pieces 1st Edition:

    
lisp 1 contact number
    
lisp quotes
    
lisp qt
    
lisp quasiquote
    
s lisp speech therapy

Tags: Christian Queinnec, Kathleen Callaway, Lisp, small pieces

*Free conversion of into popular formats such as PDF, DOCX, DOC, AZW, EPUB, and MOBI after payment.

Related Products