[Haskell-beginners] Is this a GHC bug? Problem inferring type

Brandon Allbery allbery.b at gmail.com
Sat Jun 8 15:35:52 CEST 2013


On Sat, Jun 8, 2013 at 9:02 AM, Peter Hall <peter.hall at memorphic.com> wrote:

> This is confusing me, and I'm wondering if it's a compiler bug. I have
> this:
>
>    foo = (++) `on` show
>
> I'm expecting the type to be:
>
>     foo :: Show a => a -> a -> String
>
> But GHCI is inferring:
>
>     foo :: () -> () -> String
>

No bug; it's the monomorphism restriction combining with extended
defaulting to infer a monomorphic type. If you want to keep the
monomorphism restriction and throw a type error, disable
ExtendedDefaultRules.

-- 
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://www.haskell.org/pipermail/beginners/attachments/20130608/3c65d193/attachment.htm>


More information about the Beginners mailing list