Practical Foundations for Programming Languages 1st Edition by Robert Harper – Ebook PDF Instant Download/Delivery: 1107301750, 9781107301757
Full download Practical Foundations for Programming Languages 1st Edition after payment
Product details:
ISBN 10: 1107301750
ISBN 13: 9781107301757
Author: Robert Harper
Types are the central organizing principle of the theory of programming languages. In this innovative book, Professor Robert Harper offers a fresh perspective on the fundamentals of these languages through the use of type theory. Whereas most textbooks on the subject emphasize taxonomy, Harper instead emphasizes genetics, examining the building blocks from which all programming languages are constructed. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design – the absence of ill-defined programs – follows naturally. Professor Harper’s presentation is simultaneously rigorous and intuitive, relying on elementary mathematics. The framework he outlines scales easily to a rich variety of language concepts and is directly applicable to their implementation. The result is a lucid introduction to programming theory that is both accessible and practical.
Table of contents:
Part I Judgments and Rules
1.Syntactic Objects
2.Inductive Definitions
3.Hypothetical and General Judgments
Part II Statics and Dynamics
4. Statics
5. Dynamics
6. Type Safety
7. Evaluation Dynamics
Part III Function Types
8. Function Definitions and Values
9. Gödel’s T
10. Plotkin’s PCF
Part IV Finite Data Types
11. Product Types
12. Sum Types
13. Pattern Matching
14. Generic Programming
Part V Infinite Data Types
15. Inductive and Coinductive Types
16. Recursive Types
Part VI Dynamic Types
17. The Untyped λ-Calculus
18. Dynamic Typing
19. Hybrid Typing
Part VII Variable Types
20. Girard’s System F
21. Abstract Types
22. Constructors and Kinds
Part VIII Subtyping
23. Subtyping
24. Singleton Kinds
Part IX Classes and Methods
25. Dynamic Dispatch
26. Inheritance
Part X Exceptions and Continuations
27. Control Stacks
28. Exceptions
29. Continuations
Part XI Types and Propositions
30. Constructive Logic
31. Classical Logic
Part XII Symbols
32. Symbols
33. Fluid Binding
34. Dynamic Classification
Part XIII State
35. Modernized Algol
36. Assignable References
Part XIV Laziness
37. Lazy Evaluation
38. Polarization
Part XV Parallelism
39. Nested Parallelism
40. Futures and Speculations
Part XVI Concurrency
41. Process Calculus
42. Concurrent Algol
43. Distributed Algol
Part XVII Modularity
44. Components and Linking
45. Type Abstractions and Type Classes
46. Hierarchy and Parameterization
Part XVIII Equational Reasoning
47. Equational Reasoning for T
48. Equational Reasoning for PCF
49. Parametricity
50. Process Equivalence
Part XIX Appendix
Appendix: Finite Sets and Finite Functions
People also search:
practical foundations for programming languages pdf
practical foundations for programming languages
programming language foundations
foundations for programming languages pdf
Tags: Robert Harper, Practical, Foundations, Programming