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

telemachus
Python Testing With Pytest - Chapter 2, warnings for “unregistered custom marks” While running the smoke tests in Chapter 2, I get these...
New
herminiotorres
Hi @Margaret , On page VII the book tells us the example and snippets will be all using Elixir version 1.11 But on page 3 almost the en...
New
alanq
This isn’t directly about the book contents so maybe not the right forum…but in some of the code apps (e.g. turbo/06) it sends a TURBO_ST...
New
gilesdotcodes
In case this helps anyone, I’ve had issues setting up the rails source code. Here were the solutions: In Gemfile, change gem 'rails' t...
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
curtosis
Running mix deps.get in the sensor_hub directory fails with the following error: ** (Mix) No SSH public keys found in ~/.ssh. An ssh aut...
New
adamwoolhether
I’m not quite sure what’s going on here, but I’m unable to have to containers successfully complete the Readiness/Liveness checks. I’m im...
New
jskubick
I found an issue in Chapter 7 regarding android:backgroundTint vs app:backgroundTint. How to replicate: load chapter-7 from zipfile i...
New
New
New

Other popular topics Top

Devtalk
Hello Devtalk World! Please let us know a little about who you are and where you’re from :nerd_face:
New
AstonJ
Or looking forward to? :nerd_face:
498 13326 269
New
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the 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
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
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
New
Fl4m3Ph03n1x
Background Lately I am in a quest to find a good quality TTS ai generation tool to run locally in order to create audio for some videos I...
New

Sub Categories: