[Haskell-cafe] New type of ($) operator in GHC 8.0 is problematic

John Wiegley johnw at newartisans.com
Sat Feb 6 21:04:34 UTC 2016


>>>>> Kyle Hanson <me at khanson.io> writes:

Prelude> :t ($)
>   ($) :: (a -> b) -> a -> b

Prelude> :t ($)
>   ($)
>     :: forall (w :: GHC.Types.Levity) a (b :: TYPE w).
>        (a -> b) -> a -> b

I wonder if it could elide that information when -fprint-explicit-foralls is
not enabled? The (a :: *) is not enough to warrant a forall in the former
case, so 'b :: TYPE w' where 'w :: GHC.Types.Levity' perhaps shouldn't be
enough to warrant it in the latter.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2


More information about the Haskell-Cafe mailing list