Hello,

what Reid says is exactly right---the issue is not really about what instances are present, the problem is that GHC can't determine how to instantiate `t0`.
Perhaps a more direct way to describe this is as follows:

Failed to infer type `t0`
  while solving constraint `Data.String.IsString (t0 Char)`
  arising from the use of: 
    elem :: a -> t0 a -> Bool

-Iavor

 



On Mon, Aug 3, 2015 at 9:47 AM, Brandon Allbery <allbery.b@gmail.com> wrote:
On Mon, Aug 3, 2015 at 12:45 PM, Daniel Bergey <bergey@teallabs.org> wrote:
I thought GHC would infer the type when only one instance is in scope,
at least in some cases, like IsString.  But I could well be wrong about that.

Typeclasses are open-world; this is not a safe assumption, since instances are global and an instance added elsewhere at some point in the future could therefore break your program.

--
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs