
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
.png)
