Sold by Mighty Ape
A programming course should concentrate on a program’s logical structure and design rather than on simply writing code. The functional approach to programming achieves this aim because logical concepts are evident and programs are transparent, and so can be written quickly and cleanly. In this book, the authors emphasize the notions of function and relate programming to familiar concepts from mathematics and logic. They introduce functional programming via examples but also explain what programs compute and how to reason about them. They show how the ideas can be implemented in the Caml language, a dialect of the ML family, and give examples of how complex programs from a variety of areas (such as arithmetic, tree algorithms, graph algorithms, text parsing and geometry) can be developed in close agreement with their specifications. Many exercises and examples are included throughout the book; solutions are also available. An appendix gives all the code used in the book in Standard ML.
Table of Contents
Introduction; Part I. Basic Principles: 1. Expressions; 2. Data structures; 3. Semantics; 4. Imperative aspects; Part II. Applications: 5. Exact arithmetic; 6. Formal terms, filtering, and unification; 7. Balanced trees; 8. Graphs and problem resolution; 9. Syntactic analysis; 10. Geometry and designs; Part III. Implementation: 11. Evaluation; 12. Compilation; 13. Types and typing; Appendix 1. Help for Caml Light 0.6; Appendix 2. How to Get Caml, MLgraph, and the examples; Bibliography; Index.
We are committed to protecting your rights under the Consumer Guarantees Act and working with our suppliers to assist with warranty claims. Products sold by Mighty Ape will be covered by a Manufacturer's Warranty for at least a one-year period from the date of purchase.
Your warranty will cover any manufacturing defects which, if existing, will present themselves within this warranty period.
Your warranty will not cover normal wear and tear, faults caused by misuse, and accidents which cause damage or theft caused after delivery. Using the product in a way it is not designed for will void your warranty.
Please refer to our Help Centre for more information.