/books/effective-haskell
Active Threads This:
Most Active This Week
Most Active This Month
Most Active This Year
Most Active Last Three Years
At the end of “Depending on Other Files” (ePub p 153), it says “In the next section you’ll learn the basics of Haskell’s syntax and gramm...
New
In Chapter 8, (Viewing Text One Page at a Time), when defining groupsOf, it says we should use a polymorphic type in the type signature, ...
New
In the “Functions as Data Types” section of Chapter 4 (ePub p 113), the takeDigits parser is introduced as “we could take some digits fro...
New
@RebeccaSkinner,
page 141. calculator.
I suggest you explain a little more about why you introduced the Left and Right types in the Cal...
New
Effective Haskell Chapter 8
getTerminalSize (Epub p 243) used pure in the case statement and return in the definition of tputScreenDime...
New
Defining Functor for Either Section (p. 270 ff ePub):
The discussion of the kind error seems as thought kinds have not been introduced ...
New
The discussion of why 1 'div' 0 isn’t evaluated in lazyIODemo (ePub p 214) could be expanded. The rationale (don’t want to read a...
New
In the first complete version of runHCat (ePub p. 201), that reads a file and prints it to the screen, LambdaCase is used. First, the pro...
New
It may be too much nitpicking, but you could consider describing the context in which the two language extensions (OverloadedStrings and ...
New
The definition of BinaryTree doesn’t allow for an empty tree (the minimum definition is a Leaf with one element) or two elements (next up...
New
At the end of the subsection on records, it might be nice to mention the practice of defining a default value for a complex record (e.g.,...
New
In the example:
return "4" >>= ioRead
You could consider adding an explanation, like “Remember that return "4"...
New
In the description of the algorithm for truncateStatus, the third bullet says “If the length of the status line is longer than the displa...
New
@RebeccaSkinner
In the “Creating New Variables” section of Chapter 1, it says that you can’t reassign variables once defined. But new Ha...
New
This is just a general note on UI and helping with the book.
pragprog should make it easier for me as user to edit my erratas/suggestion...
New
Most Active Over Three Years
@RebeccaSkinner
In the section “Wrapping Basic Data Types”, there is the velocity function and gravity (i.e. on earth at sea level) is b...
New
@rebeccaskinner
On p.386, we have the final version of directorySummaryWithMetrics.
When running the code, we see the histogram results...
New
Hi Rebecca,
On page 321 you use Left and Right in the function showLeftRight and I think that you should explain explicitly what Left an...
New
Please make a pass through the book,
getting all the code on 1 side, or the other, of page-breaks,
for e-reader people.
I can’t get ki...
New
Hi! It’s me again with another bit of feedback :smile: .
The following diagram helps visualize how Haskell evaluates the chain of thunks...
New
Hi,
This is the first book that has truly helped to learn Haskell and to develop confidence to write programs in this language. Thanks s...
New
Hi, I got a bit sidetracked, but I now have time to continue with your book, which I am enjoying a lot. You explain the co-recursion in c...
New
Book Info
Publisher:
Pragmatic Bookshelf
Are you this book's author? To be notified of all posts made about it, sign up an account then click here, then select 'watching' from the bell icon in the top right corner.
Get money off!
The Pragmatic Bookshelf
35% off any eBook
Simply use coupon code "devtalk.com" at checkout. See full details here.