
On Wed, Apr 19, 2017 at 4:25 PM, Doug McIlroy
I trust that "x = 10" above does NOT t mean the same as "let x = 10". If it did, then it wouldn't mean what it does in Haskell. Then code tried successfully in GHCI could fail in GHC.
Compare this GHCI session > let x = 10 > :t x x :: Num a => a > x + 0.0 10.0 to this, in which x = 10 has its Haskell meaning > :! cat test.hs x = 10 > :load test.hs > :t x x :: Integer > x + 0.0 No instance for (Fractional Integer) arising from the literal ‘0.0’.
That's got nothing to do with 'let', it's about ghci having the monomorphism restriction turned off by default. (try ":showi language") -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net