summaryrefslogtreecommitdiff
path: root/src/GF/Compile
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/Compile')
-rw-r--r--src/GF/Compile/Abstract/Compute.hs1
-rw-r--r--src/GF/Compile/Concrete/AppPredefined.hs1
-rw-r--r--src/GF/Compile/Concrete/Compute.hs11
-rw-r--r--src/GF/Compile/Concrete/TypeCheck.hs2
-rw-r--r--src/GF/Compile/GrammarToGFCC.hs2
5 files changed, 3 insertions, 14 deletions
diff --git a/src/GF/Compile/Abstract/Compute.hs b/src/GF/Compile/Abstract/Compute.hs
index 29cc73525..d5c9a163c 100644
--- a/src/GF/Compile/Abstract/Compute.hs
+++ b/src/GF/Compile/Abstract/Compute.hs
@@ -123,7 +123,6 @@ tryMatch (p,t) = do
matches <- mapM tryMatch (zip pp tt)
return (concat matches)
(PT _ p',_) -> trym p' t'
- (_, ([],Alias _ _ d,[])) -> tryMatch (p,d)
(PAs x p',_) -> do
subst <- trym p' t'
return $ (x,t) : subst
diff --git a/src/GF/Compile/Concrete/AppPredefined.hs b/src/GF/Compile/Concrete/AppPredefined.hs
index 154d76821..95effb51d 100644
--- a/src/GF/Compile/Concrete/AppPredefined.hs
+++ b/src/GF/Compile/Concrete/AppPredefined.hs
@@ -136,7 +136,6 @@ trm2str :: Term -> Err Term
trm2str t = case t of
R ((_,(_,s)):_) -> trm2str s
T _ ((_,s):_) -> trm2str s
- TSh _ ((_,s):_) -> trm2str s
V _ (s:_) -> trm2str s
C _ _ -> return $ t
K _ -> return $ t
diff --git a/src/GF/Compile/Concrete/Compute.hs b/src/GF/Compile/Concrete/Compute.hs
index 5a232a2a4..dc4937509 100644
--- a/src/GF/Compile/Concrete/Compute.hs
+++ b/src/GF/Compile/Concrete/Compute.hs
@@ -311,20 +311,15 @@ computeTermOpt rec gr = comput True where
-- course-of-values table: look up by index, no pattern matching needed
- V ptyp ts -> case v' of
- Val _ _ i -> comp g $ ts !! i
- _ -> do
+ V ptyp ts -> do
vs <- allParamValues gr ptyp
case lookupR v' (zip vs [0 .. length vs - 1]) of
Just i -> comp g $ ts !! i
_ -> return $ S t' v' -- if v' is not canonical
T _ cc -> do
- let v2 = case v' of
- Val te _ _ -> te
- _ -> v'
- case matchPattern cc v2 of
+ case matchPattern cc v' of
Ok (c,g') -> comp (g' ++ g) c
- _ | isCan v2 -> Bad (render (text "missing case" <+> ppTerm Unqualified 0 v2 <+> text "in" <+> ppTerm Unqualified 0 t))
+ _ | isCan v' -> Bad (render (text "missing case" <+> ppTerm Unqualified 0 v' <+> text "in" <+> ppTerm Unqualified 0 t))
_ -> return $ S t' v' -- if v' is not canonical
S (T i cs) e -> prawitz g i (flip S v') cs e
diff --git a/src/GF/Compile/Concrete/TypeCheck.hs b/src/GF/Compile/Concrete/TypeCheck.hs
index e5d2a9160..0d72b3c67 100644
--- a/src/GF/Compile/Concrete/TypeCheck.hs
+++ b/src/GF/Compile/Concrete/TypeCheck.hs
@@ -90,8 +90,6 @@ inferLType gr g trm = case trm of
checkError (text "cannot infer type of canonical constant" <+> ppTerm Unqualified 0 trm)
]
- Val _ ty i -> termWith trm $ return ty
-
Vr ident -> termWith trm $ checkLookup ident g
Typed e t -> do
diff --git a/src/GF/Compile/GrammarToGFCC.hs b/src/GF/Compile/GrammarToGFCC.hs
index 2a31d2b75..c284b176c 100644
--- a/src/GF/Compile/GrammarToGFCC.hs
+++ b/src/GF/Compile/GrammarToGFCC.hs
@@ -173,7 +173,6 @@ mkTerm tr = case tr of
EInt i -> C.C $ fromInteger i
R rs -> C.R [mkTerm t | (_, (_,t)) <- rs]
P t l -> C.P (mkTerm t) (C.C (mkLab l))
- TSh _ _ -> error $ show tr
T _ cs -> C.R [mkTerm t | (_,t) <- cs] ------
V _ cs -> C.R [mkTerm t | t <- cs]
S t p -> C.P (mkTerm t) (mkTerm p)
@@ -507,7 +506,6 @@ term2term fun cgr env@(labels,untyps,typs) tr = case tr of
_ | tr == x -> t
_ -> GM.composSafeOp (mkBranch x t) tr
- valNum (Val _ _ i) = traceD (show i) $ EInt $ toInteger i ----Val
valNum tr = maybe (valNumFV $ tryFV tr) EInt $ Map.lookup tr untyps
where
tryFV tr = case GM.appForm tr of