- types are a copy of purescript-cst (on hackage, github)
- don't aim to be a complete copy of purescript-cst (because these types were created for parsing, not printing), but support 80% of most used printing functionality
- parentheses are added automatically, there is no need to use
ExprParensorTypeParens(which are added by purescript parser on parsing phase)
use https://pursuit.purescript.org/packages/purescript-optparse/3.0.0/docs/Text.PrettyPrint.Leijen instead of Boxes to allow for example:
- configuring width of printed document
- conditionally print
Type's in one line or in multiple lines based on expected line width (and not based on context as it is now)
support comments
calculate imports automatically based on
Declarationsfinish pending tests in
specdirectoryprovide configuration for printing function (e.g. allow to use
∀instead offorall)