Types and programming languages
A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems--and of programming languages from a type-theoretic perspective -- -has important applicat...
Saved in:
| Main Author | |
|---|---|
| Format | Electronic eBook |
| Language | English |
| Published |
Cambridge, Mass. :
MIT Press,
2002.
|
| Subjects | |
| Online Access | Full text |
| ISBN | 9780262256810 |
| Physical Description | 1 online zdroj (xxi, 623 pages) : illustrations |
Cover
Table of Contents:
- 1. Introduction
- 2. Mathematical preliminaries
- [pt]. 1. Untyped systems
- 3. Untyped arithmetic expressions
- 4. An ML implementation of arithmetic expressions
- 5. The untyped Lambda-calculus
- 6. Nameless representation of terms
- 7. An ML implementation of the Lambda-calculus
- [pt]. 2. Simple types
- 8. Typed arithmetic expressions
- 9. Simply typed Lambda-calculus
- 10. An ML implementation of simple types
- 11. Simple extensions
- 12. Normalization
- 13. References
- 14. Exceptions
- [pt]. 3. Subtyping
- 15. Subtyping
- 16. Metatheory of subtyping
- 17. An ML implementation of subtyping
- 18. Case study : imperative objects
- 19. Case study : featherweight Java
- [pt]. 4. Recursive types
- 20. Recursive types
- 21. Metatheory of recursive types
- [pt.]. 5. Polymorphism
- 22. Type reconstruction
- 23. Universal types
- 24. Existential types
- 25. An ML implementation of system F
- 26. Bounded quantification
- 27. Case study : imperative objects, redux
- 28. Metatheory of bounded quantification
- [pt]. 6. Higher-order systems
- 29. Type operators and kinding
- 30. Higher-order polymorphism
- 31. Higher-order subtyping.