module Agda.Compiler.MAlonzo.Pretty where
import Data.Generics.Geniplate
import qualified Language.Haskell.Exts.Pretty as Pretty
import qualified Language.Haskell.Exts.Syntax as HS
import Agda.Compiler.MAlonzo.Encode
prettyPrint :: (Pretty.Pretty a, TransformBi HS.ModuleName (Wrap a)) =>
a -> String
prettyPrint = Pretty.prettyPrint .
unwrap .
transformBi encodeModuleName .
Wrap
newtype Wrap a = Wrap { unwrap :: a }
instanceTransformBiT [ [t| String |] ] [t| (HS.ModuleName, Wrap HS.Exp) |]
instanceTransformBiT [ [t| String |] ] [t| (HS.ModuleName, Wrap HS.Module) |]
instanceTransformBiT [ [t| String |] ] [t| (HS.ModuleName, Wrap HS.ModuleName) |]
instanceTransformBiT [ [t| String |] ] [t| (HS.ModuleName, Wrap HS.QName) |]