[Template-haskell] pprDec bug
Daniel Brown
brownd at cse.ogi.edu
Tue May 18 15:58:58 EDT 2004
I'm using GHCi version 6.2.1 under Cygwin. I'm trying to implement a
compiler that translates a DSL into Haskell; I'd like to build the
structure incrementally and then use the pretty printer to output the
target code. However, the pretty printer does not always produce
valid output; sometimes needed parentheses are lacking, as in:
Main> pprDec $ DataD [] "M" [] [NormalC "M" [(NotStrict, AppT (ConT Maybe) (ConT "Int"))]] []
data M = M Maybe Int
Related question: I've defined a utility function
> pdq decq = runQ decq >>= mapM_ print . map pprDec
so I can pretty-print declarations in code brackets, viz.:
Main> pdq [d| data M = M (Maybe Int) |]
Is there an easy way to transform the declaration to use the
short forms of type names, e.g. "Int" instead of "GHC.Base:Int"?
-- Dan.
More information about the template-haskell
mailing list