(books/AI?) Design Concepts in Programming Languages

Universal Music International | ISBN-13: 9780262201759 | English | PDF | 1347 Pages | Size: 5.35 MB
Introduction
Hundreds of programming languages are in use today—scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book’s unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as its premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple.
Table of Contents
Preface xix
Acknowledgments xxi
I Foundations 1
1 Introduction 3
2 Syntax 19
3 Operational Semantics 45
4 Denotational Semantics 113
5 Fixed Points 163
II Dynamic Semantics 205
6 FL: A Functional Language 207
7 Naming 307
8 State 383
9 Control 443
10 Data 539
III Static Semantics 615
11 Simple Types 617
12 Polymorphism and Higher-order Types 701
13 Type Reconstruction 769
14 Abstract Types 839
15 Modules 889
16 Effects Describe Program Behavior 943
IV Pragmatics 1003
17 Compilation 1005
18 Garbage Collection 1119
A A Metalanguage 1147
B Our Pedagogical Languages 1197
References 1199
Index 1227
*_____________________________________________________