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.Read more
- 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 ForewordSee more reviews
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
12th Jan 2017 by Gilbertb
This book is well-written and concepts are well-explained from first principles and no programming experience is required. Useful for self studing.
Review was not posted due to profanity×
- Edition: 2nd Edition
- Date Published: September 2016
- format: Paperback
- isbn: 9781316626221
- length: 318 pages
- dimensions: 246 x 174 x 17 mm
- weight: 0.56kg
- contains: 1 b/w illus. 120 exercises
- availability: In stock
Table of Contents
Part I. Basic Concepts:
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
Find resources associated with this titleYour search for '' returned .
Type Name Unlocked * Format Size
*This title has one or more locked files and access is given only to instructors adopting the textbook for their class. We need to enforce this strictly so that solutions are not made available to students. To gain access to locked resources you either need first to sign in or register for an account.
These resources are provided free of charge by Cambridge University Press with permission of the author of the corresponding work, but are subject to copyright. You are permitted to view, print and download these resources for your own personal use only, provided any copyright lines on the resources are not removed or altered in any way. Any other use, including but not limited to distribution of the resources in modified form, or via electronic or other media, is strictly prohibited unless you have permission from the author of the corresponding work and provided you give appropriate acknowledgement of the source.
If you are having problems accessing these resources please email firstname.lastname@example.org
Sorry, this resource is locked
Please register or sign in to request access. If you are having problems accessing these resources please email email@example.comRegister Sign in
You are now leaving the Cambridge University Press website. Your eBook purchase and download will be completed by our partner www.ebooks.com. Please see the permission section of the www.ebooks.com catalogue page for details of the print & copy limits on our eBooks.Continue ×