%
\begin{code}
-module PprExternalCore where
+module PprExternalCore () where
import Pretty
import ExternalCore
indent = nest 2
-pmodule (Module mname {- (texports,dexports,vexports) -} tdefs vdefs) =
+pmodule (Module mname tdefs vdefgs) =
(text "%module" <+> text mname)
-{- $$ indent (parens (((fsep (map pname texports) <> char ',')
- $$ (fsep (map pname dexports) <> char ',')
- $$ (fsep (map pname vexports))))
--}
$$ indent ((vcat (map ((<> char ';') . ptdef) tdefs))
- $$ (vcat (map ((<> char ';') . pgvdef) vdefs)))
-
-pgvdef (False,vdef) = text "%local" <+> pvdefg vdef
-pgvdef (True,vdef) = pvdefg vdef
+ $$ (vcat (map ((<> char ';') . pvdefg) vdefgs)))
ptdef (Data tcon tbinds cdefs) =
- (text "%data" <+> pname tcon <+> (hsep (map ptbind tbinds)) <+> char '=')
+ (text "%data" <+> pqname tcon <+> (hsep (map ptbind tbinds)) <+> char '=')
$$ indent (braces ((vcat (punctuate (char ';') (map pcdef cdefs)))))
ptdef (Newtype tcon tbinds rep ) =
- text "%newtype" <+> pname tcon <+> (hsep (map ptbind tbinds)) <+> repclause
+ text "%newtype" <+> pqname tcon <+> (hsep (map ptbind tbinds)) <+> repclause
where repclause = case rep of
Just ty -> char '=' <+> pty ty
Nothing -> empty
pname id = text id
pqname ("",id) = pname id
-pqname (m,id) = pname m <> char '.' <> pname id
+pqname (m,id) = pname m <> char '.' <> pname id
ptbind (t,Klifted) = pname t
ptbind (t,k) = parens (pname t <> text "::" <> pkind k)