# Effective Haskell Chapter 8 "Viewing Text One Page at a Time"

**URL:** <https://forum.devtalk.com/t/effective-haskell-chapter-8-viewing-text-one-page-at-a-time/89588>\
**Category:** PragProg Customers\
**Tags:** book-effective-haskell, errata\
**Created:** [31 December 2022 23:57 UTC](https://forum.devtalk.com/t/effective-haskell-chapter-8-viewing-text-one-page-at-a-time/89588 "2022-12-31T23:57:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![pennychase](https://forum.devtalk.com/user_avatar/forum.devtalk.com/pennychase/32/3891_2.png) [@pennychase](https://forum.devtalk.com/u/pennychase)\
**Post date:** [31 December 2022 23:57 UTC](https://forum.devtalk.com/t/effective-haskell-chapter-8-viewing-text-one-page-at-a-time/89588/1 "2022-12-31T23:57:52Z")

</div>

In Chapter 8, the introduction to “Viewing Text One Page at a Time” (p. 358 in my ePub), the type signature for groupsOf after the text which says “… so we’ll use a polymorphic type” repeats the signature with the concrete type (`groupsOf :: Int -> [Text.Text] -> [[Text.Text]]`), instead of `groupsOf :: Int -> [a] - [[a]]`

In the description of getTerminalSize in the “Handling Terminal Dimensions” sub-section it says “We’re starting out looking at the current OS, and returning an error if we’re not running darwin or  
linux”, but the code returns default screen dimensions of 25 rows by 80 columns.

The final version of runHCat in the “Paging Our File” sub-section has `Text.hGetContents` instead of `TextIO.hGetContents`

---

<div class="post-metadata">

**Author:** ![RebeccaSkinner](https://forum.devtalk.com/user_avatar/forum.devtalk.com/rebeccaskinner/32/3888_2.png) [@RebeccaSkinner](https://forum.devtalk.com/u/RebeccaSkinner)\
**Post date:** [2 January 2023 08:28 UTC](https://forum.devtalk.com/t/effective-haskell-chapter-8-viewing-text-one-page-at-a-time/89588/2 "2023-01-02T08:28:20Z")

</div>

Thanks, I recently caught a couple of those too but I’d completely missed the fact that I hadn’t updated the text after I refactored the exercise to return a default terminal size. I’ll get all of these fixes pushed in the next release!
