default instance for IsString

Greg Weber greg at gregweber.info
Sun Apr 22 04:51:10 CEST 2012


my actual use case looks more like this:

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE FlexibleInstances, TypeSynonymInstances #-}

import Data.Text as T

class ShowT a where
   showT :: a -> String

instance ShowT T.Text where
   showT = show

instance ShowT String where
   showT = show

main = print (showT "Hello!")

    Ambiguous type variable `a0' in the constraints:
      (ShowT a0) arising from a use of `showT' at default.hs:16:15-19
      (Data.String.IsString a0) arising from the literal `"Hello!"'


So I actually want to define a default instance for a typeclass I
define that uses isString instances.



On Sat, Apr 21, 2012 at 6:24 PM, Daniel Peebles <pumpkingod at gmail.com> wrote:
> I think it'll be hard to do that without putting Text in base, which I'm not
> sure anyone wants to do.
>
> Dan
>
> On Sat, Apr 21, 2012 at 8:20 PM, Greg Weber <greg at gregweber.info> wrote:
>>
>> I would like to default IsString to use the Text instance to avoid
>> ambiguous type errors.
>> I see defaulting capability is available for Num. Is there any way to
>> do this for IsString?
>>
>> Thanks,
>> Greg Weber
>>
>> _______________________________________________
>> Glasgow-haskell-users mailing list
>> Glasgow-haskell-users at haskell.org
>> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>
>



More information about the Glasgow-haskell-users mailing list