change mkVar back to how it was
authorSimon Huber <hubsim@gmail.com>
Thu, 16 Apr 2015 12:32:17 +0000 (14:32 +0200)
committerSimon Huber <hubsim@gmail.com>
Thu, 16 Apr 2015 12:32:17 +0000 (14:32 +0200)
CTT.hs
Eval.hs
TypeChecker.hs

diff --git a/CTT.hs b/CTT.hs
index 7cf14d91c71fd8423e5bc922cbc3059a93c7d31f..998cd9689c0fc5f676d47729866c7c816f878edc 100644 (file)
--- a/CTT.hs
+++ b/CTT.hs
@@ -211,9 +211,8 @@ isNeutralComp (VGlue _ as) u ts | isNeutral u = True
   in isNeutralSystem (Map.filterWithKey testFace ts)
 isNeutralComp _ _ _ = False
 
--- TODO: Use the String!
-mkVar :: Int -> String -> Val -> Val
-mkVar k x = VVar ("X_" ++ show k)
+mkVar :: Int -> Val -> Val
+mkVar k = VVar ("X" ++ show k)
 
 unCon :: Val -> [Val]
 unCon (VCon _ vs) = vs
@@ -373,8 +372,7 @@ showVal v = case v of
   VLam x t e        -> char '\\' <> parens (text x <+> colon <+> showVal t) <+>
                          text "->" <+> showVal e
   VSplit u v        -> showVal u <+> showVal1 v
-  VVar x t | head x == '_' -> text x -- Special case, otherwise it is X_0
-           | otherwise     -> text x -- text (takeWhile (/= '_') x)
+  VVar x _          -> text x
   VFst u            -> showVal1 u <> text ".1"
   VSnd u            -> showVal1 u <> text ".2"
   VIdP v0 v1 v2     -> text "IdP" <+> showVals [v0,v1,v2]
diff --git a/Eval.hs b/Eval.hs
index 5cd01319eca3335ee7f7ca2da2dda51a79307b5f..9c8fcfd7080599e3aa8f201f5a28c41f8c1bcda3 100644 (file)
--- a/Eval.hs
+++ b/Eval.hs
@@ -690,13 +690,13 @@ instance Convertible Val where
     let j = fresh (u,v)
     in case (simplify k j u, simplify k j v) of
       (Ter (Lam x a u) e,Ter (Lam x' a' u') e') ->
-        let v = mkVar k (eval e a)
+        let v = mkVar k (eval e a)
         in conv (k+1) (eval (Upd e (x,v)) u) (eval (Upd e' (x',v)) u')
       (Ter (Lam x a u) e,u') ->
-        let v = mkVar k (eval e a)
+        let v = mkVar k (eval e a)
         in conv (k+1) (eval (Upd e (x,v)) u) (app u' v)
       (u',Ter (Lam x a u) e) ->
-        let v = mkVar k (eval e a)
+        let v = mkVar k (eval e a)
         in conv (k+1) (app u' v) (eval (Upd e (x,v)) u)
       (Ter (Split _ p _ _) e,Ter (Split _ p' _ _) e') -> (p == p') && conv k e e'
       (Ter (Sum p _ _) e,Ter (Sum p' _ _) e')         -> (p == p') && conv k e e'
@@ -705,10 +705,10 @@ instance Convertible Val where
       (Ter Hole{} e,_) -> True
       (_,Ter Hole{} e') -> True
       (VPi u v,VPi u' v') ->
-        let w = mkVar k "X" u  -- TODO: What string to put here?
+        let w = mkVar k u
         in conv k u u' && conv (k+1) (app v w) (app v' w)
       (VSigma u v,VSigma u' v') ->
-        let w = mkVar k "X" u  -- TODO: What string to put here?
+        let w = mkVar k u
         in conv k u u' && conv (k+1) (app v w) (app v' w)
       (VCon c us,VCon c' us')   -> (c == c') && conv k us us'
       (VPair u v,VPair u' v') -> conv k u u' && conv k v v'
@@ -789,7 +789,7 @@ instance Normal Val where
   normal _ VU = VU
   normal k (Ter (Lam x t u) e) = VLam name w $ normal (k+1) (eval (Upd e (x,v)) u)
     where w = eval e t
-          v@(VVar name _) = mkVar k w
+          v@(VVar name _) = mkVar k w
   normal k (VPi u v) = VPi (normal k u) (normal k v)
   normal k (VSigma u v) = VSigma (normal k u) (normal k v)
   normal k (VPair u v) = VPair (normal k u) (normal k v)
index 412aad78848c8948f7cb05dc87971c3962118892..456da6264a7b28026fcab464d9f3b30feba294d2 100644 (file)
@@ -65,7 +65,7 @@ runInfer lenv e = runTyping lenv (infer e)
 \r
 addTypeVal :: (Ident,Val) -> TEnv -> TEnv\r
 addTypeVal (x,a) (TEnv k ind rho v) =\r
-  TEnv (k+1) ind (Upd rho (x,mkVar k (show a) a)) v\r
+  TEnv (k+1) ind (Upd rho (x,mkVar k a)) v\r
 \r
 addSub :: (Name,Formula) -> TEnv -> TEnv\r
 addSub iphi (TEnv k ind rho v) = TEnv k ind (Sub rho iphi) v\r
@@ -115,7 +115,7 @@ constPath = VPath (Name "_")
 mkVars :: Int -> Tele -> Env -> [(Ident,Val)]\r
 mkVars k [] _ = []\r
 mkVars k ((x,a):xas) nu =\r
-  let w = mkVar k (show a) (eval nu a)\r
+  let w = mkVar k (eval nu a)\r
   in (x,w) : mkVars (k+1) xas (Upd nu (x,w))\r
 \r
 -- Construct a fuction "(_ : va) -> vb"\r
@@ -177,7 +177,7 @@ check a t = case (a,t) of
     rho <- asks env\r
     unlessM (a === eval rho a') $\r
       throwError "check: lam types don't match"\r
-    let var = mkVar k (show a) a\r
+    let var = mkVar k a\r
     local (addTypeVal (x,a)) $ check (app f var) t\r
   (VSigma a f, Pair t1 t2) -> do\r
     check a t1\r