Re: [Haskell-cafe] Haskell 2020: 'let' to be optional and with wider scope of visibility, like other Haskell functions

It's just helping clean up a bit words that doesn't have much meaning. Currently GHCi in GHC 8 is supporting this, so you could write both:
x = 10 x <- return 10
Which is great!
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’. Doug

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
participants (2)
-
Brandon Allbery
-
Doug McIlroy