- In a previous patch I broke the printing of fully-applied arrow
types (e.g., "a -> b" was "(ghczmprim:GHCziPrim a b)") by z-encoding
package names and not updating the primitive module name as defined in
External Core accordingly. Fixed. (Mega sigh...)
- Make newtype decls print slightly more readably.
primMname :: Mname
-- For truly horrible reasons, this must be z-encoded.
-- With any hope, the z-encoding will die soon.
-primMname = "ghc-prim:GHCziPrim"
+primMname = "ghczmprim:GHCziPrim"
tcArrow :: Qual Tcon
tcArrow = (primMname, "(->)")
-- At the same time, we need the newtype decl to declare the tycon itself.
-- Sigh.
text "%newtype" <+> pqname tcon <+> (hsep (map ptbind tbinds))
- <+> axiomclause <+> repclause
+ $$ indent (axiomclause $$ repclause)
where axiomclause = char '^' <+> parens (pqname coercion <+> text "::"
<+> pkind k)
repclause = case rep of