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

Doug McIlroy doug at cs.dartmouth.edu
Wed Apr 19 20:25:27 UTC 2017


> 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


More information about the Haskell-Cafe mailing list