Open zenzike opened 8 years ago
I also am rather torn on this. However, I'm not really sure we can easily do much about this given that this instance has been in the wild for quite some time now. I have no idea how much code would break if we removed it.
I am a bit torn by the
IsString
instance. On the one hand, it makes it easy to parse literal text. On the other hand, in parsers I often don't really want to be parsing just text when I put things in quotes in BNF. Usually something like "foo" really means parse the token "foo", and also deal with trailing whitespace. I want to make this magic happen by providing my own version ofIsString
, but since attoparsec has it's own, I'm stuck. I suggest the library does not provide this instance or that this is made overlappable, since Haskell gives me no mechanism for hiding it or selecting my own. Currently I'm dealing with a duplicate instance declaration rather than an overlap, and I can't force the compiler to select my version.