There's no Pretty a => Pretty (Maybe a) instance, which old code may rely on.
We have Doc = Doc AnsiStyle, which means that any existing Pretty instances which use basic functions like text no longer compile, since prettyprinter's pretty has to be annotation-polymorphic.
These are not easily solved, so I think the README ought to just be clearer about the limitations.
This has caused issues for some ansi-wl-pprint-dependent packages, such as tmp-postgres.
This was noticed in https://github.com/ekmett/ansi-wl-pprint/pull/32#issue-1712218860, but I've found some other incompatibilities:
Pretty a => Pretty (Maybe a)
instance, which old code may rely on.Doc = Doc AnsiStyle
, which means that any existingPretty
instances which use basic functions liketext
no longer compile, sinceprettyprinter
'spretty
has to be annotation-polymorphic.These are not easily solved, so I think the README ought to just be clearer about the limitations.
This has caused issues for some
ansi-wl-pprint
-dependent packages, such astmp-postgres
.