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.

Popular Prag Prog 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
New
jeffmcompsci
Title: Design and Build Great Web APIs - typo “https://company-atk.herokuapp.com/2258ie4t68jv” (page 19, third bullet in URL list) Typo:...
New
sdmoralesma
Title: Web Development with Clojure, Third Edition - migrations/create not working: p159 When I execute the command: user=> (create-...
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
cro
I am working on the “Your Turn” for chapter one and building out the restart button talked about on page 27. It recommends looking into ...
New
Charles
In general, the book isn’t yet updated for Phoenix version 1.6. On page 18 of the book, the authors indicate that an auto generated of ro...
New
akraut
The markup used to display the uploaded image results in a Phoenix.LiveView.HTMLTokenizer.ParseError error. lib/pento_web/live/product_l...
New
AufHe
I’m a newbie to Rails 7 and have hit an issue with the bin/Dev script mentioned on pages 112-113. Iteration A1 - Seeing the list of prod...
New
redconfetti
Docker-Machine became part of the Docker Toolbox, which was deprecated in 2020, long after Docker Desktop supported Docker Engine nativel...
New

Other popular topics Top

AstonJ
A thread that every forum needs! Simply post a link to a track on YouTube (or SoundCloud or Vimeo amongst others!) on a separate line an...
New
malloryerik
Any thoughts on Svelte? Svelte is a radical new approach to building user interfaces. Whereas traditional frameworks like React and Vue...
New
siddhant3030
I’m thinking of buying a monitor that I can rotate to use as a vertical monitor? Also, I want to know if someone is using it for program...
New
AstonJ
Thanks to @foxtrottwist’s and @Tomas’s posts in this thread: Poll: Which code editor do you use? I bought Onivim! :nerd_face: https://on...
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
AstonJ
If you are experiencing Rails console using 100% CPU on your dev machine, then updating your development and test gems might fix the issu...
New
wmnnd
Here’s the story how one of the world’s first production deployments of LiveView came to be - and how trying to improve it almost caused ...
New
mafinar
This is going to be a long an frequently posted thread. While talking to a friend of mine who has taken data structure and algorithm cou...
New
AstonJ
We’ve talked about his book briefly here but it is quickly becoming obsolete - so he’s decided to create a series of 7 podcasts, the firs...
New
PragmaticBookshelf
Author Spotlight Erin Dees @undees Welcome to our new author spotlight! We had the pleasure of chatting with Erin Dees, co-author of ...
New

Latest in PragProg

View all threads ❯