Effective Haskell (Pragmatic Bookshelf)

Most Active This Week Top

jdgleeson
‘PolyKinds GHC2021’ (page xx, line 12) is a duplicate entry. See last line on page xix. (Book version P1.0)
New

Most Active This Month Top

Most Active This Year Top

vvnurmi
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
vvnurmi
@RebeccaSkinner On page 198, when phantom types are introduced, when listing other changes to the code example at hand, also this necess...
New
lambdacalculator
@RebeccaSkinner Both module statements in the code examples on pp. xvii and xviii in the Introduction (“Following Along with Example Cod...
New
vvnurmi
@RebeccaSkinner The book seems to be missing an import statement like λ import HaskellBook.Examples.Introduction.CreatingModules (Name ...
New

Most Active Last Three Years Top

andre
@RebeccaSkinner Thanks you for this beautiful book. Chapter 8 - p.317 3rd paragraph from the bottom If you build your application and ...
New
pennychase
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
yaronf
“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
pennychase
@RebeccaSkinner In Effective Haskell Chapter 11 (~ p 410 in ePub), when creating the Encode and Decode instances for String, pack and un...
New
pennychase
Defining Functor for Either Section (p. 270 ff ePub): The discussion of the kind error seems as thought kinds have not been introduced ...
New
juhp
@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
molleweide
The function I am testing is handleNums on page 68. It returns this error message: λ: :reload [1 of 1] Compiling Main ...
New
andre
Refer to pages 508-511 I get an infinite loop when running the original parseArchive function, after adding a variable called "archiveD...
New
juhp
There’s a small typo in ch2 (B9.0), half way through the section Destructuring Values With Pattern Matching in the sentence: As an exam...
New
kimwallmark
(I may be overthinking corner cases for a little example program) If you pass in a list of guests with a duplicated food, like [(“Alice”...
New
juhp
In ch3, section on Reading Type Errors, the error message presented for "one " :: Int with IsString seems non-standard, ie not from a min...
New
juhp
Just noticed a typo in chapter 2, on the bottom of p55 of B9.0 it says: pseduo-Haskell I missed this on my first reading of the chapter...
New
juhp
On p66 of B9.0 chapter 2: combineLists as bs = let a = head as b = head bs as' = tail as bs' = tail bs in if null...
New
kimwallmark
The text says "Just like function application at the value level, types for Haskell functions are also left-to-right associative, so inst...
New
Antryg
All the people learning programming, itself, their 1st time, would benefit, significantly, from learning Git. And the beginners won’t...
New

Most Active Over Three Years Top

DW_Roth
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
eponymous
“Much of this {difficult~>difficulty} is due to the complexity inherent in modern systems. ” “Today, software needs to do more things...
New
pennychase
At the beginning of the Composing Functions subsection in Chapter 1 it says: “You’ve already done this kind of implicit function composit...
New
waj
Functions that accept arguments in any order are called “commutative”, not “associative”. Note that this is mentioned twice in the same p...
New
pennychase
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
jbcrail
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
pennychase
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
belega
The addPeano function switches the arguments in the recursive call. The implementation should be: addPeano Z b = b addPeano (S a) b = a...
New
jbcrail
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
pennychase
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
pennychase
In the “Filtering List Elements” section, the party budget function is first called “foodBudget” and all subsequent reference are “partyB...
New
darrenfehrmann
On page 19, the last line of the guard clause code snippet: | otherwise = “that’s an unfathomalbly big number” has “unfathomably” missp...
New
DW_Roth
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
pennychase
Effective Haskell Chapter 8 getTerminalSize (Epub p 243) used pure in the case statement and return in the definition of tputScreenDime...
New
pennychase
In the error handling section in Chapter 8: In the first refactor (ePub p 202), it says “we’ll start by adding a second helper function...
New

Get money off!

The Pragmatic Bookshelf

35% off any eBook

Simply use coupon code "devtalk.com" at checkout. See full details here.