好书推荐 好书速递 排行榜 读书文摘

ANSI Common Lisp

ANSI Common Lisp
作者:[美] 保罗·格雷厄姆
出版社:Prentice Hall
出版年:1995-11
ISBN:9780133708752
行业:其它
浏览数:131

内容简介

For use as a core text supplement in any course covering common LISP such as Artificial Intelligence or Concepts of Programming Languages. Teaching students new and more powerful ways of thinking about programs, this text contains a tutorial-full of examples-that explains all the essential concepts of Lisp programming, plus an up- to-date summary of ANSI Common Lisp, listing every operator in the language. Informative and fun, it gives students everything they need to start writing programs in Lisp both efficiently and effectively, and highlights such innovative Lisp features as automatic memory management, manifest typing, closures, and more.

......(更多)

作者简介

保罗·格雷厄姆,英文名 Paul Graham,(1964年-),美国著名程序员、风险投资家、博客和技术作家。他以Lisp方面的工作而知名,也是最早的Web应用Viaweb的创办者之一,后来以近5千万美元价格被雅虎收购,成为Yahoo! Store。他的著作包括On Lisp (1993),ANSI Common Lisp (1995) 和Hackers & Painters (2004)。[1]

2005年他与人共同创建了著名的创业投资公司Y Combinator,先后投资了数十家创业公司,包括reddit、Justin.tv等。公司的新闻网站Hacker News是访问量最高的技术新闻信息来源之一。

2008年,他与Y Combinator的另一位创办者杰西卡·利文斯顿结婚。

他拥有哈佛大学应用科学(计算机方向)博士学位,并在罗德岛设计学院和佛罗伦萨绘画艺术学院学习过绘画。

......(更多)

目录

Preface

Audience

How to Use This Book

The Code

On Lisp

Acknowledgements

1 Introduction

1.1 New Tools

1.2 New Techniques

1.3 A New Approach

2 Welcome to Lisp

2.1 Form

2.2 Evaluation

2.3 Data

2.4 List Operations

2.5 Truth

2.6 Functions

2.7 Recursion

2.8 Reading Lisp

2.9 Input and Output

2.10 Variables

2.11 Assignment

2.12 Functional Programming

2.13 Iteration

2.14 Functions as Objects

2.15 Types

2.16 Looking Forward

Summary

Exercises

3 Lists

3.1 Conses

3.2 Equality

3.3 Why Lisp Has No Pointers

3.4 Building Lists

3.5 Example: Compression

3.6 Access

3.7 Mapping Functions

3.8 Trees

3.9 Understanding Recursion

3.10 Sets

3.11 Sequences

3.12 Stacks

3.13 Dotted Lists

3.14 Assoc-lists

3.15 Example: Shortest Path

3.16 Garbage

4 Specialized Data Structures

4.1 Arrays

4.2 Example: Binary Search

4.3 Strings and Characters

4.4 Sequences

4.5 Example: Parsing Dates

4.6 Structures

4.7 Example: Binary Search Trees

4.8 Hash Tables

5 Control

5.1 Blocks

5.2 Context

5.3 Conditionals

5.4 Iteration

5.5 Multiple Values

5.6 Aborts

5.7 Example: Date Arithmetic

6 Functions

6.1 Global Functions

6.2 Local Functions

6.3 Parameter Lists

6.4 Example: Utilities

6.5 Closures

6.6 Example: Function Builders

6.7 Dynamic Scope

6.8 Compilation

6.9 Using Recursion

7 Input and Output

7.1 Streams

7.2 Input

7.3 Output

7.4 Example: String Substitution

7.5 Macro Characters

8 Symbols

8.1 Symbol Names

8.2 Property Lists

8.3 Symbols Are Big

8.4 Creating Symbols

8.5 Multiple Packages

8.6 Keywords

8.7 Symbols and Variables

8.8 Example: Random Text

9 Numbers

9.1 Types

9.2 Conversion and Extraction

9.3 Comparison

9.4 Arithmetic

9.5 Exponentiation

9.6 Trigonometric Functions

9.7 Representation

9.8 Example: Ray-Tracing

10 Macros

10.1 Eval

10.2 Macros

10.3 Backquote

10.4 Example: Quicksort

10.5 Macro Design

10.6 Generalized Reference

10.7 Example: Macro Utilities

10.8 On Lisp

11 CLOS

11.1 Object-Oriented Programming

11.2 Classes and Instances

11.3 Slot Properties

11.4 Superclasses

11.5 Precedence

11.6 Generic Functions

11.7 Auxiliary Methods

11.8 Method Combination

11.9 Encapsulation

11.10 Two Models

12 Structure

12.1 Shared Structure

12.2 Modification

12.3 Example: Queues

12.4 Destructive Functions

12.5 Example: Binary Search Trees

12.6 Example: Doubly-Linked Lists

12.7 Circular Structure

12.8 Constant Structure

13 Speed

13.1 The Bottleneck Rule

13.2 Compilation

13.3 Type Declarations

13.4 Garbage Avoidance

13.5 Example: Pools

13.6 Fast Operators

13.7 Two-Phase Development

14 Advanced Topics

14.1 Type Specifiers

14.2 Binary Streams

14.3 Read-Macros

14.4 Packages

14.5 The Loop Facility

14.6 Conditions

15 Example: Inference

15.1 The Aim

15.2 Matching

15.3 Answering Queries

15.4 Analysis

16 Example: Generating HTML

16.1 HTML

16.2 HTML Utilities

16.3 An Iteration Utility

16.4 Generating Pages

17 Example: Objects

17.1 Inheritance

17.2 Multiple Inheritance

17.3 Defining Objects

17.4 Functional Syntax

17.5 Defining Methods

17.6 Instances

17.7 New Implementation

17.8 Analysis

A: Debugging

B: Lisp in Lisp

C: Changes to Common Lisp

D: Language Reference

Notes

Index

......(更多)

读书文摘

In Common Lisp, values have types, not variables.You could imagine that every object had a label attached to it, identifying its type.

......(更多)

猜你喜欢

点击查看