Abstraction and Design In Computation
Full Book
0. Front Matter
1. Introduction
2. A Cook’s tour of OCaml
3. Expressions and the linguistics of programming languages
4. Values and types
5. Naming and scope
6. Functions
7. Structured data and composite types
8. Higher-order functions and functional programming
9. Polymorphism and generic programming
10. Handling anomalous conditions
11. Algebraic data types
12. Abstract data types and modular programming
13. Semantics: The substitution model
14. Efficiency, complexity, and recurrences
15. Mutable state and imperative programming
16. Loops and procedural programming
17. Infinite data structures and lazy programming
18. Extension and object-oriented programming
19. Semantics: The environment model
20. Concurrency
21. Final project: Implementing MiniML
22. Back Matter