Fix printing of environments
authorSimon Huber <hubsim@gmail.com>
Thu, 11 Feb 2016 12:31:33 +0000 (13:31 +0100)
committerSimon Huber <hubsim@gmail.com>
Thu, 11 Feb 2016 12:31:33 +0000 (13:31 +0100)
CTT.hs

diff --git a/CTT.hs b/CTT.hs
index 11d80d8b16d4377e8c8c370515ba5ed2ebf6e0fc..e3d42f9c8ea47183903caa911dadb104c0a16732 100644 (file)
--- a/CTT.hs
+++ b/CTT.hs
@@ -281,21 +281,22 @@ showEnv :: Bool -> Env -> Doc
 showEnv b e =
   let -- This decides if we should print "x = " or not
       names x = if b then text x <+> equals else PP.empty
-
+      par   x = if b then parens x else x
+      com     = if b then comma else PP.empty
       showEnv1 e = case e of
         (Upd x env,u:us,fs)   ->
-          showEnv1 (env,us,fs) <+> names x <+> showVal1 u
+          showEnv1 (env,us,fs) <+> names x <+> showVal1 u <> com
         (Sub i env,us,phi:fs) ->
-          showEnv1 (env,us,fs) <+> names (show i) <+> text (show phi)
+          showEnv1 (env,us,fs) <+> names (show i) <+> text (show phi) <> com
         (Def _ env,vs,fs)     -> showEnv1 (env,vs,fs)
         _                     -> showEnv b e
   in case e of
     (Empty,_,_)           -> PP.empty
     (Def _ env,vs,fs)     -> showEnv b (env,vs,fs)
     (Upd x env,u:us,fs)   ->
-      showEnv1 (env,us,fs) <+> names x <+> showVal u
+      par $ showEnv1 (env,us,fs) <+> names x <+> showVal u
     (Sub i env,us,phi:fs) ->
-      showEnv1 (env,us,fs) <+> names (show i) <+> text (show phi)
+      par $ showEnv1 (env,us,fs) <+> names (show i) <+> text (show phi)
 
 instance Show Loc where
   show = render . showLoc