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

Brandon Allbery allbery.b at gmail.com
Wed Apr 19 20:29:55 UTC 2017


On Wed, Apr 19, 2017 at 4:25 PM, Doug McIlroy <doug at cs.dartmouth.edu> wrote:

> 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 at gmail.com                                  ballbery at sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20170419/ed2877d6/attachment.html>


More information about the Haskell-Cafe mailing list