Proposal: Improving the IsString String instance

Henning Thielemann schlepptop at henning-thielemann.de
Sun Aug 25 11:48:04 CEST 2013


Am 24.08.2013 19:52, schrieb Edward Kmett:

> I would like to replace this instance with
>
> instance a ~ Char => IsString [a] where
>    fromString = id


Your complaint proves my concerns about those FlexibleInstances. The 
best instance is a Haskell 98 instance:


class IsCharList a where
    fromCharList :: [a] -> String

instance IsCharList Char where
    fromCharList = id

instance IsCharList a => IsString [a] where
    fromString = fromCharList


This is both the most flexible solution and it is portable.

http://www.haskell.org/haskellwiki/List_instance





More information about the Libraries mailing list