Ebook: Programming and Meta-Programming in Scheme
Author: Jon Pearce (auth.)
- Tags: Programming Languages Compilers Interpreters
- Series: Undergraduate Texts in Computer Science
- Year: 1998
- Publisher: Springer-Verlag New York
- Edition: 1
- Language: English
- pdf
By now, Scheme is a well-established programming language and is finding increasing popularity in programming courses for undergraduates. Its expressive capabilities are matched by a simplicity of language and ease-of-use which have made its adherents disciples! This textbook provides a comprehensive first course in Scheme and covers all of its major features: abstraction, functional programming, data types, recursion, and semantic programming. Although the primary goal of this text is to teach students to program in Scheme, it will be suitable for any student studying a general programming principles course. Each chapter is divided into three sections: core, appendix , and problems. Most essential topics are covered in the core section, but it is assumed that most students will read the appendices and solve most of the problems. (Nearly all of the problems require students to write short Scheme procedures.) As well as providing a thorough grounding in Scheme, the author discusses in depth different programming paradigms. An important theme throughout is that of "meta-programming": the perspective that programs themselves can be treated as data, and hence can be analyzed and modified as objects. This provides insight into topics such as type-checking and overloading which might otherwise be missed.
By now, Scheme is a well-established programming language and is finding increasing popularity in programming courses for undergraduates. Its expressive capabilities are matched by a simplicity of language and ease-of-use which have made its adherents disciples! This textbook provides a comprehensive first course in Scheme and covers all of its major features: abstraction, functional programming, data types, recursion, and semantic programming. Although the primary goal of this text is to teach students to program in Scheme, it will be suitable for any student studying a general programming principles course. Each chapter is divided into three sections: core, appendix , and problems. Most essential topics are covered in the core section, but it is assumed that most students will read the appendices and solve most of the problems. (Nearly all of the problems require students to write short Scheme procedures.) As well as providing a thorough grounding in Scheme, the author discusses in depth different programming paradigms. An important theme throughout is that of "meta-programming": the perspective that programs themselves can be treated as data, and hence can be analyzed and modified as objects. This provides insight into topics such as type-checking and overloading which might otherwise be missed.
By now, Scheme is a well-established programming language and is finding increasing popularity in programming courses for undergraduates. Its expressive capabilities are matched by a simplicity of language and ease-of-use which have made its adherents disciples! This textbook provides a comprehensive first course in Scheme and covers all of its major features: abstraction, functional programming, data types, recursion, and semantic programming. Although the primary goal of this text is to teach students to program in Scheme, it will be suitable for any student studying a general programming principles course. Each chapter is divided into three sections: core, appendix , and problems. Most essential topics are covered in the core section, but it is assumed that most students will read the appendices and solve most of the problems. (Nearly all of the problems require students to write short Scheme procedures.) As well as providing a thorough grounding in Scheme, the author discusses in depth different programming paradigms. An important theme throughout is that of "meta-programming": the perspective that programs themselves can be treated as data, and hence can be analyzed and modified as objects. This provides insight into topics such as type-checking and overloading which might otherwise be missed.
Content:
Front Matter....Pages i-xiii
Introduction....Pages 1-4
Expressions and Values....Pages 5-30
Procedures....Pages 31-77
Evaluation Control and Recursion....Pages 78-120
Data Control....Pages 121-169
Iteration....Pages 170-208
Recursive Domains....Pages 209-256
Variables....Pages 257-292
Expressions as Values....Pages 293-330
Back Matter....Pages 331-341
By now, Scheme is a well-established programming language and is finding increasing popularity in programming courses for undergraduates. Its expressive capabilities are matched by a simplicity of language and ease-of-use which have made its adherents disciples! This textbook provides a comprehensive first course in Scheme and covers all of its major features: abstraction, functional programming, data types, recursion, and semantic programming. Although the primary goal of this text is to teach students to program in Scheme, it will be suitable for any student studying a general programming principles course. Each chapter is divided into three sections: core, appendix , and problems. Most essential topics are covered in the core section, but it is assumed that most students will read the appendices and solve most of the problems. (Nearly all of the problems require students to write short Scheme procedures.) As well as providing a thorough grounding in Scheme, the author discusses in depth different programming paradigms. An important theme throughout is that of "meta-programming": the perspective that programs themselves can be treated as data, and hence can be analyzed and modified as objects. This provides insight into topics such as type-checking and overloading which might otherwise be missed.
Content:
Front Matter....Pages i-xiii
Introduction....Pages 1-4
Expressions and Values....Pages 5-30
Procedures....Pages 31-77
Evaluation Control and Recursion....Pages 78-120
Data Control....Pages 121-169
Iteration....Pages 170-208
Recursive Domains....Pages 209-256
Variables....Pages 257-292
Expressions as Values....Pages 293-330
Back Matter....Pages 331-341
....