Proposal: Improving the IsString String instance

Henning Thielemann schlepptop at
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.

More information about the Libraries mailing list