Programming in Haskell (英語) ペーパーバック – 2007/1/18
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduction is ideal for beginners: it requires no previous programming experience and all concepts are explained from first principles via carefully chosen examples. Each chapter includes exercises that range from the straightforward to extended projects, plus suggestions for further reading on more advanced topics. The author is a leading Haskell researcher and instructor, well-known for his teaching skills. The presentation is clear and simple, and benefits from having been refined and class-tested over several years. The result is a text that can be used with courses, or for self-learning. Features include freely accessible Powerpoint slides for each chapter, solutions to exercises and examination questions (with solutions) available to instructors, and a downloadable code that's fully compliant with the latest Haskell release.
'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, Monad Reader
'Two groups of people must consider this book. The first is professors interested in rapidly introducing students to fundamental concepts in functional programming. This book, supplemented with online resources and professorial guidance could easily serve as the textbook for a semester-long course on functional programming. The second group is programmers interested in surveying the functional paradigm as quickly as possible.' Journal of Functional Programming
The book covers the very basics that everyone new to Haskell and new to functional programming needs to understand. However, the book does not cover material enough to become a Haskell developer. It just covers enough to get you started with the language, and most importantly, to enable you to understand other Haskell books out ther, which on the contrary, seem to assume that one has a broader understanding on functional programming.
The reason I gave it 4 starts instead of 5 is because it uses a strange symbology in the examples which forces the reader to interpret the symbols when writing Haskell code. You have to read an appendix to interpret symbols as actual Haskell operators.
Nonetheless, rather than define the book for the gaps, I do feel like it is another solid intro to programming in Haskell but nowhere near enough to send a programmer on their way independently. Coupling the book with one of the other two texts is a good idea (Learn You a Haskell ... or the O'Reilly book).
Has very large margins on the pages as well, which seems wasteful. Some of the topics covered seem rather light, for example curried functions. I understand what they are, but had to go elsewhere to really get a good sense of the point of them.