Photo de l'auteur

Graham Hutton (2)

Auteur de Programming in Haskell

Pour les autres auteurs qui s'appellent Graham Hutton, voyez la page de désambigüisation.

2 oeuvres 179 utilisateurs 2 critiques

Œuvres de Graham Hutton

Programming in Haskell (2007) 143 exemplaires

Étiqueté

Partage des connaissances

Sexe
male

Membres

Critiques

This book is a fun way to bend one's mind into new shapes. It's reasonably well organized for reading straight through, up to the point where I stopped.

I didn't stop because I don't want to read the rest. I stopped because I knew that if I continued to the end now I wouldn't get enough from the rest of the book. Too much other stuff demands my attention to give Haskell the attention it deserves right now, and while I was able to get up to section 7.5 (halfway through chapter 7) without any real problems the cognitive load was getting a little heavy for me when I don't have the leisure to sit down at a computer and play around with Haskell for an hour each day to help me absorb what I've been reading.

If you want to learn some interesting mathematical concepts, this book could actually serve to help you. Some people have difficulty learning "pure" math, but get along much better learning the exact same concepts via programming. This book is densely packed with that kind of thing. Give it a try.

I don't know when I'll get back to Haskell, but when I do I'm pretty sure I'll be happy to have this book near at hand. It's dry, but clear, interesting, and instructive.
… (plus d'informations)
 
Signalé
apotheon | Dec 14, 2020 |
This is a beautiful book for people who want to learn Haskell and functional programming as an advanced problem-solving tool.

First the good bits: The author's extensive university teaching and research experience shines throughout the book. Starting from the fundamental principles of functional programming, the author gently introduces the basic concepts and constructs of Haskell and strongly-typed functional programming. There are a lot of examples to demonstrate how the introduced concepts of Haskell and techniques of functional programming can be used to analyze and design solutions to problems of various complexity.

After introducing the basic building blocks of Haskell in the first part, the author goes on to introduce more complex topics such as monadic parsing, as well as modern Haskell concepts such as Applicative, Traversable and Foldable type classes. Following these, another very important notion, "lazy evaluation" is introduced and its usage is described, why and how it fits into Haskell explained with examples.

The exercises at the end of the chapter are carefully planned, and serve to force the reader's mind to understand concepts by forcing her to practice and think by herself.

I have to say that the final two chapters is where the book totally shines. First the author introduces what it means to reason about programs and shows how systematic thinking can be applied to designing a solution. In the chapter that follows, that is the final chapter, the reader sees the full power of the ideas developed in the previous chapter applied by calculating compilers, that is, starting from a specification for a programming language, to reaching a correct compiler that can parse the statements in that language and evaluate them to produce the results. The way to do is by using induction and realizing that this systematic method can be applied to languages of ever increasing complexity is mind-blowing moment in itself.

Now the not-so-good bits: Even though the books exemplifies how to break down problems into small pieces and how to compose small building blocks to create bigger and more complex Haskell solutions, it is definitely not enough for the "working programmer". That is, you will definitely learn a lot of important and critical Haskell principles and techniques from this book but you'll also miss a lot of other important aspects such as:

- A stronger focus on type-driven program design in Haskell
- Building Haskell projects and packages
- Writing tests, both traditional unit tests, and extensive automated QuickCheck style tests
- Profiling your programs
- How to properly benchmark your programs
- More detailed parsing techniques and libraries
- Web-based programming
- Network programming
- And few more topics that will be important if you're working in a team of Haskell developers, working to produce software products and services for your customers.

And you'll definitely need another book for that, the strongest contender being Haskell Book as of 2017 (see my review at https://ileriseviye.wordpress.com/2017/01/01/one-year-with-haskell-programming-f...).

Having said that, I'd still consider this Second Edition of Programming in Haskell by Hutton to be perfectly suitable for a modern Haskell introduction, provided that it is backed up by a teacher in a classroom environment; someone that can fill in the missing parts. The final chapters of the book will definitely appeal to programmers and students who want to continue their journey into the more research-oriented areas such as compiler design.

Overall, I'm more than satisfied to add this book to my Haskell and functional programming shelf, and whenever I'll need concise descriptions of fundamental as well as modern ideas, this will be among my go-to books for enlightenment.
… (plus d'informations)
½
 
Signalé
EmreSevinc | Feb 5, 2017 |

Vous aimerez peut-être aussi

Auteurs associés

Olive Cook Editor
Victor Gollancz Contributor
R. J. Cruikshank Contributor
W. R. Matthews Contributor
Lord Samuel Introduction

Statistiques

Œuvres
2
Membres
179
Popularité
#120,383
Évaluation
4.0
Critiques
2
ISBN
26
Langues
2

Tableaux et graphiques