+612 9045 4394
The Structure of Typed Programming Languages : Foundations of Computing - David A. Schmidt

The Structure of Typed Programming Languages

Foundations of Computing

Sorry, the book that you are looking for is not available right now.

We did a search for other books with a similar title, however there were no matches. You can try selecting from a similar category, click on the author's name, or use the search box above to find your book.

Share This Book:

The Structure of Typed Programming Languages describes the fundamental syntactic and semantic features of modern programming languages, carefully spelling out their impacts on language design. Using classical and recent research from lambda calculus and type theory, it presents a rational reconstruction of the Algol-like imperative languages such as Pascal, Ada, and Modula-3, and the higher-order functional languages such as Scheme and ML.David Schmidt's text is based on the premise that although few programmers ever actually design a programming language, it is important for them to understand the structuring techniques. His use of these techniques in a reconstruction of existing programming languages and in the design of new ones allows programmers and would-be programmers to see why existing languages are structured the way they are and how new languages can be built using variations on standard themes.The text is unique in its tutorial presentation of higher-order lambda calculus and intuitionistic type theory. The latter in particular reveals that a programming language is a logic in which its typing system defines the propositions of the logic and its well-typed programs constitute the proofs of the propositions.The Structure of Typed Programming Languages is designed for use in a first or second course on principles of programming languages. It assumes a basic knowledge of programming languages and mathematics equivalent to a course based on books such as Friedman, Wand, and Haynes': Essentials of Programming Languages. As Schmidt covers both the syntax and the semantics of programming languages, his text provides a perfect precursor to a more formal presentation of programming language semantics such as Gunter's Semantics of Programming Languages.

Series Foreword
The Programming Language Corep. 1
A Core Imperative Languagep. 1
Typing Rulesp. 3
Induction and Recursionp. 6
Unicity of Typingp. 8
The Typing Rules Define the Languagep. 10
The Semantics of the Core Languagep. 12
Soundness of the Typing Rulesp. 17
Operational Properties of the Semanticsp. 18
The Design of a Language Corep. 21
The Abstraction Principlep. 31
Expression Abstractionsp. 32
The Semantics of Abstractionsp. 35
Soundness of the Typing Rules for Abstractionsp. 41
Lazy Evaluation and the Copy Rulep. 42
Eager Evaluationp. 45
Semantics of Lazy and Eager Evaluationp. 45
Other Standard Abstractionsp. 48
Recursively Defined Abstractionsp. 49
Variable Declarationsp. 52
Semantics of Variablesp. 53
Type-Structure Abstractionsp. 53
Semantics of Type Structuresp. 56
Declaration Abstractionsp. 58
The Abstraction Principle Is a Record Introduction Principlep. 61
The Parameterization and Correspondence Principlesp. 75
Expression Parametersp. 76
Semantics of Parameter Transmissionp. 79
A Copy Rule for Lazily Evaluated Parametersp. 82
Other Varieties of Parametersp. 86
Type Equivalencep. 87
Type-Structure Parametersp. 89
The Correspondence Principlep. 90
The Semantics of Correspondencep. 93
Parameter Listsp. 94
The Parameterization Principle Is a Lambda Abstraction Principlep. 95
The Qualification Principlep. 105
Command Blocksp. 106
Semantics of the Command Blockp. 107
Scopep. 109
Semantics of Dynamic Scopingp. 110
Extentp. 111
Declaration Blocksp. 114
Type-Structure Blocksp. 115
Object-Oriented Languagesp. 118
Semantics of Dynamically Scoped Objectsp. 122
Subtypingp. 122
The Copy Rule for Blocksp. 127
The Qualification Principle Is a Record Introduction Principlep. 130
Records and Lambda Abstractionsp. 141
The Desugared Programming Languagep. 141
Record Introductionp. 142
Lambda Abstraction Introductionp. 143
Higher-Order Programming Languagesp. 144
The Semantics of Records and Lambda Abstractionsp. 146
Lazy Evaluation Semanticsp. 146
Eager Evaluation Semanticsp. 150
Lazy and Eager Evaluation Combinedp. 151
Lambda Abstraction Alonep. 154
Orthogonalityp. 155
The Model of the Programming Languagep. 156
The Logic of the Programming Languagep. 159
The Lambda Calculusp. 165
The Untyped Lambda Calculusp. 165
Call-by-Name and Call-by-Value Reductionp. 170
An Induction Principlep. 171
The Simply Typed Lambda Calculusp. 173
Denotational Semantics and Soundnessp. 176
Lambda Calculus with Constants and Operatorsp. 178
Operational Semantics for a Source Languagep. 181
Subtree Replacement Systemsp. 183
Standardizationp. 192
Functional Programming Languagesp. 203
The Core Functional Languagep. 203
Rewriting Rules for the Core Languagep. 205
The Abstraction and Qualification Principlesp. 206
The Parameterization Principlep. 208
Denotational Semantics of the Functional Languagep. 209
PCF and Computational Adequacyp. 213
Type Abstractionsp. 215
Variations on Type Abstractionsp. 220
Type Parametersp. 225
Semantics of Type Abstractions and Type Parametersp. 227
Type Inferencep. 227
Prolog and Logic Programming Languagesp. 233
Higher-Order Typed Lambda Calculip. 247
The Second-Order Lambda Calculusp. 248
Parameterized Data Typesp. 252
Generalized Type Systemsp. 255
Dependent Product Typesp. 258
Dependent Sum Typesp. 264
Propositional-Logic Typingp. 273
The Propositional Calculusp. 273
Proofs as Programsp. 278
Programming in the Logicp. 281
Computing in the Logicp. 283
Disjunction and Falsehoodp. 284
Classical and Intuitionistic Logicp. 288
Propositional Logic and Programming-Language Designp. 289
Predicate-Logic Typingp. 301
The Predicate Calculusp. 301
The Typed Predicate Calculus with Natural Numbersp. 307
Universesp. 316
The Equality Typep. 319
General Forms of Elimination Rulesp. 321
Technical Resultsp. 324
Predicate Logic and Programming-Language Designp. 325
Bibliographyp. 343
Indexp. 361
Table of Contents provided by Blackwell. All Rights Reserved.

ISBN: 9780262691710
ISBN-10: 026269171X
Series: Foundations of Computing
Audience: Professional
Format: Paperback
Language: English
Number Of Pages: 383
Published: 1st March 1994
Country of Publication: US
Dimensions (cm): 22.23 x 17.78  x 2.54
Weight (kg): 0.71