
26 Feb
2005
26 Feb
'05
2:02 p.m.
ross@soi.city.ac.uk wrote:
Cabal has lots of compatibility gunk to preserve portability. It uses Distribution.Compat.ReadP, which presents a Haskell 98 interface, implemented using Text.ParserCombinators.ReadP for those that have it and re-implemented for the rest. [...]
OK, then let's reformulate my question: Why do we have a non-H98 ReadP at all? If I see it correctly, it is only to save one type parameter, but this looks like a bad trade-off. We could deprecate the current non-H98 ReadP then (keeping it for backwards compatibility) and offer a new pure H98 version. This would avoid the current #ifdef horror and keep the interfaces compiler-independent, both are worthy goals IMHO... Cheers, S.