Programming in Haskell
Haskell is a purely functional language that allows programmers to rapidly develop clear, concise, and correct software. The language has grown in popularity in recent years, both in teaching and in industry. This book is based on the author's experience of teaching Haskell for more than twenty years. All concepts are explained from first principles and no programming experience is required, making this book accessible to a broad spectrum of readers. While Part I focuses on basic concepts, Part II introduces the reader to more advanced topics. This new edition has been extensively updated and expanded to include recent and more advanced features of Haskell, new examples and exercises, selected solutions, and freely downloadable lecture slides and example code. The presentation is clean and simple, while also being fully compliant with the latest version of the language, including recent changes concerning applicative, monadic, foldable, and traversable types.
- This new edition has been extensively revised and expanded, including four new chapters as well as many new examples and exercises
- Fully compliant with the latest version of Haskell, and updated to include more recent features
- An accompanying website provides a range of supporting materials, including PowerPoint slides and Haskell code for the extended examples
Reviews & endorsements
"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
Product details
August 2016Adobe eBook Reader
9781316876336
0 pages
0kg
1 b/w illus. 120 exercises
This ISBN is for an eBook version which is distributed on our behalf by a third party.
Table of Contents
- 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.