Foreword; Preface; Part I. Basic Concepts: 1. Introduction; 2. First steps; 3. Types and classes; 4. Defining functions; 5. List comprehensions; 6. Recursive functions; 7. Higher-order functions; 8. Declaring types and classes; 9. The countdown problem; Part II. Going Further: 10. Interactive programming; 11. Unbeatable tic-tac-toe; 12. Monads and more; 13. Monadic parsing; 14. Foldables and friends; 15. Lazy evaluation; 16. Reasoning about programs; 17. Calculating compilers; Appendix A. Selected solutions; Appendix B. Standard prelude; Bibliography; Index.
This extensively updated and expanded version of the best-selling first edition now covers recent and more advanced features of Haskell.
Graham Hutton is Professor of Computer Science at the University of Nottingham. He has taught Haskell to thousands of students and received numerous best lecturer awards. Hutton has served as an editor of the Journal of Functional Programming, Chair of the Haskell Symposium and the International Conference on Functional Programming, and Vice-Chair of the Association for Computing Machinery (ACM) Special Interest Group on Programming Languages, and is an ACM Distinguished Scientist.
'The skills you acquire by studying this book will make you a much
better programmer no matter what language you use to actually
program in.' Erik Meijer, Facebook, from the Foreword
Review of previous edition: 'The best introduction to Haskell available. There are many paths towards becoming comfortable and competent with the language but I think studying this book is the quickest path. I urge readers of this magazine to recommend Programming in Haskell to anyone who has been thinking about learning the language.' Duncan Coutts, The Monad.Reader
Review of previous edition: 'Where this book excels is in the order and style of its exposition ... With its ripe selection of examples and its careful clarity of exposition, the book is a welcome addition to the introductory functional programming literature.' Journal of Functional Programming