Effective Haskell: "one" :: Int error message (p99)

In ch3, section on Reading Type Errors, the error message presented for "one " :: Int with IsString seems non-standard, ie not from a minimal ghci session perhaps? Also note the space after e.

For all current GHC 9 versions I get;

ghci> "one" :: Int

<interactive>:1:1: error:
    • Couldn't match type ‘[Char]’ with ‘Int’
      Expected: Int
        Actual: String
    • In the expression: "one" :: Int
      In an equation for ‘it’: it = "one" :: Int

(ghc-8.10 is slightly different but also no IsString.)

Of course it’s quite likely one will run into the IsString error IRL… :slight_smile:

Oh yeah, that’s a great catch. I had a few default extensions enabled in ghci, including OverloadedStrings. I’ll get some errata up soon with the set of default extensions and some additional explanation. Thanks!

Also today noticed False3 on p100 of B9.0:

In an equation for ‘it’: it = (True, False3) :: (Bool, Int)

Good catch, I’ll add that to the errata too- thanks!