ext-core library: Change syntax for primitive coercions
authorTim Chevalier <chevalier@alum.wellesley.edu>
Fri, 12 Sep 2008 03:33:47 +0000 (03:33 +0000)
committerTim Chevalier <chevalier@alum.wellesley.edu>
Fri, 12 Sep 2008 03:33:47 +0000 (03:33 +0000)
Changed the ext-core syntax to include primitive coercions (left, right, sym, trans, etc.) as syntax rather than referring them to their names as in GHC. (I hope I updated the docs to reflect this...)

utils/ext-core/Language/Core/Printer.hs

index 0a3e2cf..bbd8e48 100644 (file)
@@ -7,7 +7,6 @@ import Data.Char
 
 import Language.Core.Core
 import Language.Core.Encoding
 
 import Language.Core.Core
 import Language.Core.Encoding
-import Language.Core.PrimCoercions
 
 instance Show Module where
   showsPrec _ m = shows (pmodule m)
 
 instance Show Module where
   showsPrec _ m = shows (pmodule m)
@@ -128,17 +127,17 @@ pbty t = paty t
 pty (Tapp(Tapp(Tcon tc) t1) t2) | tc == tcArrow = fsep [pbty t1, text "->",pty t2]
 pty (Tforall tb t) = text "%forall" <+> pforall [tb] t
 pty (TransCoercion t1 t2) = 
 pty (Tapp(Tapp(Tcon tc) t1) t2) | tc == tcArrow = fsep [pbty t1, text "->",pty t2]
 pty (Tforall tb t) = text "%forall" <+> pforall [tb] t
 pty (TransCoercion t1 t2) = 
-    (sep ([pqname transCoercion, paty t1, paty t2]))
+    (sep ([text "%trans", paty t1, paty t2]))
 pty (SymCoercion t) = 
 pty (SymCoercion t) = 
-    (sep [pqname symCoercion, paty t])
+    (sep [text "%sym", paty t])
 pty (UnsafeCoercion t1 t2) = 
 pty (UnsafeCoercion t1 t2) = 
-    (sep [pqname unsafeCoercion, paty t1, paty t2])
+    (sep [text "%unsafe", paty t1, paty t2])
 pty (LeftCoercion t) = 
 pty (LeftCoercion t) = 
-    (pqname leftCoercion <+> paty t)
+    (text "%left" <+> paty t)
 pty (RightCoercion t) = 
 pty (RightCoercion t) = 
-    (pqname rightCoercion <+> paty t)
+    (text "%right" <+> paty t)
 pty (InstCoercion t1 t2) = 
 pty (InstCoercion t1 t2) = 
-    (sep [pqname instCoercion, paty t1, paty t2])
+    (sep [text "%inst", paty t1, paty t2])
 pty t = pbty t
 
 pappty (Tapp t1 t2) ts = pappty t1 (t2:ts)
 pty t = pbty t
 
 pappty (Tapp t1 t2) ts = pappty t1 (t2:ts)