Effective Haskell (Pragmatic Bookshelf)
Hot This:
Latest Threads About This Book

@RebeccaSkinner
Both module statements in the code examples on pp. xvii and xviii in the Introduction (“Following Along with Example Cod...
New

@RebeccaSkinner
On page 198, when phantom types are introduced, when listing other changes to the code example at hand, also this necess...
New

@RebeccaSkinner
The book seems to be missing an import statement like
λ import HaskellBook.Examples.Introduction.CreatingModules (Name ...
New

the (<>) operator would get passed to the function show instead of
the string we get back when we say show 1.
I think it should ...
New

Missing out an i in associativity — associatvity.
New

@RebeccaSkinner
On p.61 in Chapter 2, the following is described as finding “the sum of the first ten odd numbers”:
λ (foldr (+) 0 . fi...
New

Title: Effective Haskell - Kindle Edition
Chapter: 1 Section: Precedence, Operators, and Fixity
In the first expression, ((((((add add)...
New

@RebeccaSkinner
Currently, it is:
sumOfUniques n = foldr (add n) (additiveIdentity n) . unique n
It should be:
sumOfUniques n = ...
New

@RebeccaSkinner
At the bottom of page 31 when let is added to the example greeting I cannot get the example to work. I’ve tried rechecki...
New

Effective Haskell:Chapter 13 (B9 - PDF version) - infinite loop when running the ClassyArchiver code
Refer to pages 508-511
I get an infinite loop when running the original parseArchive function, after adding a variable called "archiveD...
New
Most Active This Week
Most Active This Month
Most Active This Year

Missing out an i in associativity — associatvity.
New

the (<>) operator would get passed to the function show instead of
the string we get back when we say show 1.
I think it should ...
New

@RebeccaSkinner
On page 198, when phantom types are introduced, when listing other changes to the code example at hand, also this necess...
New

@RebeccaSkinner
The book seems to be missing an import statement like
λ import HaskellBook.Examples.Introduction.CreatingModules (Name ...
New

@RebeccaSkinner
Both module statements in the code examples on pp. xvii and xviii in the Introduction (“Following Along with Example Cod...
New
Most Active Last Three Years

Author Spotlight
Rebecca Skinner
@RebeccaSkinner
Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New

@RebeccaSkinner
Thanks you for this beautiful book.
Chapter 8 - p.317 3rd paragraph from the bottom
If you build your application and ...
New

In toCsv (ePub p 157, dropLeadingComma will leave a leading space. In the case statement, the first case is ‘,’:s’ → s’ and it should be ...
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

“You’ll notice that in all of the examples so far, we’ve created lists that only contain numbers” - this is incorrect, one of the first e...
New

@RebeccaSkinner
In Effective Haskell Chapter 11 (~ p 410 in ePub), when creating the Encode and Decode instances for String, pack and un...
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

@RebeccaSkinner,
Allright, so I have put all of the example code for Calculator in chapter 4 on page ~140 in a file and when loading it ...
New

@RebeccaSkinner
In beta 9.0
A small typo near the bottom of p83:
“but it there are some extra moving parts”
Probably"it" should be dr...
New

Hi @RebeccaSkinner,
In for example the Calculator segment of chapter 4, if I run the examples in GHCI this error is returned:
λ: Ad...
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

Please use the following format for the title of this thread (then simply delete/replace this text with the content for the thread):
Eff...
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

Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New

Title: Effective Haskell - Example doesn’t work (page 8)
Middle of page 8 says: "Create a new Main.hs and copy the example below to get ...
New

“Much of this {difficult~>difficulty} is due to the complexity inherent in modern systems. ”
“Today, software needs to do more things...
New

At the beginning of the Composing Functions subsection in Chapter 1 it says: “You’ve already done this kind of implicit function composit...
New

Functions that accept arguments in any order are called “commutative”, not “associative”. Note that this is mentioned twice in the same p...
New

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

To be more concise and minimize the number of threads, I grouped the suggested corrections into one post.
A few notes on how I structure...
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

The addPeano function switches the arguments in the recursive call. The implementation should be:
addPeano Z b = b
addPeano (S a) b = a...
New

To be more concise and minimize the number of threads, I grouped the suggested corrections into one post.
A few notes on how I structure...
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

In the “Filtering List Elements” section, the party budget function is first called “foodBudget” and all subsequent reference are “partyB...
New

On page 19, the last line of the guard clause code snippet:
| otherwise = “that’s an unfathomalbly big number”
has “unfathomably” missp...
New

Title: Effective Haskell - lambda example would help (pages 8-9)
At the bottom of page 8 and the top of page 9 lambdas are described. I ...
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 an entire...
New
Book Info
Publisher:
Pragmatic Bookshelf
Get money off!

The Pragmatic Bookshelf
35% off any eBook
Simply use coupon code "devtalk.com" at checkout. See full details here.