jbcrail

jbcrail

Effective Haskell: typos, grammar, and punctuation (Chapter 2 - pdf B1.0)

To be more concise and minimize the number of threads, I grouped the suggested corrections into one post.

A few notes on how I structured this post:

  • Corrections are ordered by page number.
  • All page references are for the PDF edition.
  • Modified words or sentences are highlighted in bold when appropriate.

On page 25,

…how to work with lists using high order functions…

should be

…how to work with lists using higher order functions…

On page 26,

…prepending an element to a list is much more efficent than…

should be

…prepending an element to a list is much more efficient than…

On page 26,

Later on on page 53 you’ll learn…

should be

Later on page 53 you’ll learn…

On page 28,

When you’re creating a list recusively in this way…

should be

When you’re creating a list recursively in this way…

On page 28,

…countdown from a starting number using this techinque.

should be

…countdown from a starting number using this technique.

On page 29,

To make our code more ergonimic to use…

should be

To make our code more ergonomic to use…

On page 29,

In the case offactors we’re calculating…

should be

In the case of factors we’re calculating…

On page 29,

The recursive part of our function handled…

should be

The recursive part of our function is handled…

On page 30,

If the modulous is 0 then we’ve found a factor.

should be

If the modulus is 0, then we’ve found a factor.

(note: I’ve also added a comma between “0” and “then”)

On page 32,

Later on in on page 107 you’ll learn…

should be

Later on page 107 you’ll learn…

On page 33,

They both return accumulator on an empty list…

should be

They both return an accumulator on an empty list…

On page 33,

…let’s pretend to be the compiler and use some pseduo-Haskell…

should be

…let’s pretend to be the compiler and use some pseudo-Haskell…

On page 35,

Like folding, appliying a function to ever element in a list…

should be

Like folding, applying a function to every element in a list…

On page 39,

…where a is an element of bs, and b is odd".

should be

…where a is an element of bs, and b is odd."

(note: I’ve moved the quote after the period.)

On page 44,

…replace the first or second elements if the match some special case…

should be

…replace the first or second elements if they match some special case…

On page 46,

More specifically, Haskell uses is a form of laziness…

should be

More specifically, Haskell uses a form of laziness…

(note: I’ve removed “is” from the original sentence.)

On page 49,

In fact, we while our first attempt to calculate…

should be

In fact, while our first attempt to calculate…

(note: I’ve removed “we” from the original sentence.)

Most Liked

RebeccaSkinner

RebeccaSkinner

Author of Effective Haskell

Thanks for this! I’m actively working on the first batch of revisions and I’ll make sure to address these.

Where Next?

Popular Pragmatic Bookshelf topics Top

abtin
page 20: … protoc command… I had to additionally run the following go get commands in order to be able to compile protobuf code using go...
New
jon
Some minor things in the paper edition that says “3 2020” on the title page verso, not mentioned in the book’s errata online: p. 186 But...
New
brianokken
Many tasks_proj/tests directories exist in chapters 2, 3, 5 that have tests that use the custom markers smoke and get, which are not decl...
New
jamis
The following is cross-posted from the original Ray Tracer Challenge forum, from a post by garfieldnate. I’m cross-posting it so that the...
New
edruder
I thought that there might be interest in using the book with Rails 6.1 and Ruby 2.7.2. I’ll note what I needed to do differently here. ...
New
HarryDeveloper
Hi @venkats, It has been mentioned in the description of ‘Supervisory Job’ title that 2 things as mentioned below result in the same eff...
New
swlaschin
The book has the same “Problem space/Solution space” diagram on page 18 as is on page 17. The correct Problem/Solution space diagrams ar...
New
leba0495
Hello! Thanks for the great book. I was attempting the Trie (chap 17) exercises and for number 4 the solution provided for the autocorre...
New
EdBorn
Title: Agile Web Development with Rails 7: (page 70) I am running windows 11 pro with rails 7.0.3 and ruby 3.1.2p20 (2022-04-12 revision...
New
Keton
When running the program in chapter 8, “Implementing Combat”, the printout Health before attack was never printed so I assumed something ...
New

Other popular topics Top

PragmaticBookshelf
From finance to artificial intelligence, genetic algorithms are a powerful tool with a wide array of applications. But you don't need an ...
New
AstonJ
I’ve been hearing quite a lot of comments relating to the sound of a keyboard, with one of the most desirable of these called ‘thock’, he...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1147 29994 760
New
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
PragmaticBookshelf
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used t...
New
PragmaticBookshelf
Author Spotlight: Peter Ullrich @PJUllrich Data is at the core of every business, but it is useless if nobody can access and analyze ...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New

Sub Categories: