Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Thinking Functionally with Haskell

Thinking Functionally with Haskell

Thinking Functionally with Haskell

Richard Bird, University of Oxford
December 2014
Paperback
9781107452640

    Richard Bird is famed for the clarity and rigour of his writing. His new textbook, which introduces functional programming to students, emphasises fundamental techniques for reasoning mathematically about functional programs. By studying the underlying equational laws, the book enables students to apply calculational reasoning to their programs, both to understand their properties and to make them more efficient. The book has been designed to fit a first- or second-year undergraduate course and is a thorough overhaul and replacement of his earlier textbooks. It features case studies in Sudoku and pretty-printing, and over 100 carefully selected exercises with solutions. This engaging text will be welcomed by students and teachers alike.

    • Introduces concepts and techniques without too much focus on one specific language
    • Written by a world expert in functional programming and the calculation of algorithms
    • End-of-chapter exercises and solutions make it suitable for self-study

    Product details

    December 2014
    Paperback
    9781107452640
    354 pages
    245 × 174 × 20 mm
    0.65kg
    1 b/w illus.
    Available

    Table of Contents

    • Preface
    • 1. What is functional programming?
    • 2. Expressions, types and values
    • 3. Numbers
    • 4. Lists
    • 5. A simple Sudoku solver
    • 6. Proofs
    • 7. Efficiency
    • 8. Pretty-printing
    • 9. Infinite lists
    • 10. Imperative functional programming
    • 11. Parsing
    • 12. A simple equational calculator
    • Index.
    Resources for
    Type
    Programs and errata are available from the Author's Website
    The Haskell website