新书报道
当前位置: 首页 >> 电子电气计算机信息科学 >> 正文
Types and programming languages(类型与程序设计语言)
发布日期:2008-09-25  浏览
Review
"Types are the leaven of computer programming; they make it digestible. This excellent book uses types to navigate the rich variety of programming languages, bringing a new kind of unity to their usage, theory, and implementation. Its author writes with the authority of experience in all three of these aspects."
?Robin Milner, Computer Laboratory, University of Cambridge
Product Description
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 applications in software engineering, language design, high-performance compilers, and security.
This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material.
The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.

Table of contents
1. Introduction
2. Mathematical Preliminaries

I 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

II Simple Types
8. Typed Arithmetic Expressions
9. Simply Typed Lambda- Calculus
10. An ML Implementation of Simple types
11. Simple Extentions
12. Normalisation
13. References
14. Exceptions

III Subtyping
15. Subtyping
16. Metatheory of Subtyping
17. An ML Implementation of Subtyping
18. Case Study: Imperative Objects
19. Case Study: Featherweight Java

IV Recursive Types
20. Recursive types
21. Metatheory of Recursive types

V Polymorphism
22. Type Reconstruction
23. Universal Types
24. Existential Types
25. An ML implementaton of system F
26. Bounded Quantification
27. Case Study: Imperitive Objects, Redux
28. Metatheory of Bounded Quantification

VI Higher-Order Systems
29. Type Operators and Kinding
30. Higher-Order Polymorphism
31. Higher-Order Subtyping
32. Case Study: Purely Functionl Objects

Appendices
A Solutions to Selected Exercises
B Notational Conventions

关闭


版权所有:西安交通大学图书馆      设计与制作:西安交通大学数据与信息中心  
地址:陕西省西安市碑林区咸宁西路28号     邮编710049

推荐使用IE9以上浏览器、谷歌、搜狗、360浏览器;推荐分辨率1360*768以上