Hi David,
I just saw the release of your package on hackage. Looks pretty nice! I did something similar a short while ago based on ekmetts wl-pprint-extras since I needed something working with annotations: https://github.com/minad/wl-pprint-annotated and https://github.com/minad/wl-pprint-console. However your package looks better and more ambitious, so I might switch over :)
Some comments:
- There is no Functor instance, but instead unAnnotate/reAnnotate. I find it much nicer to have a Functor instance since this is what I expect. What about adding one?
- You use Lists instead of Foldable everywhere probably to support type inference? I have usually a slight preference to the more general.
- I looked only shortly into your different rendering mechanisms, but displayDecorated and displayDecoratedA functions are only provided by the compat . These are the functions I am using to render the SimpleDoc in https://github.com/minad/wl-pprint-console/blob/master/src/Text/PrettyPrint/Console/WL.hs. However for ANSI coloring I am using some intermediate representation of another library which tries to generate only minimal escape sequences.
- There are some empty packages which essentially only reexport very few definitions. I think these confuse more than help when clicking through hackage or the source, like Internal.Type, ShowS etc.
Daniel
Hi David,
I just saw the release of your package on hackage. Looks pretty nice! I did something similar a short while ago based on ekmetts wl-pprint-extras since I needed something working with annotations: https://github.com/minad/wl-pprint-annotated and https://github.com/minad/wl-pprint-console. However your package looks better and more ambitious, so I might switch over :)
Some comments:
Daniel