summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/GF/Compile/CheckGrammar.hs7
-rw-r--r--src/GF/Grammar/PatternMatch.hs2
2 files changed, 6 insertions, 3 deletions
diff --git a/src/GF/Compile/CheckGrammar.hs b/src/GF/Compile/CheckGrammar.hs
index 61c361199..47434d74e 100644
--- a/src/GF/Compile/CheckGrammar.hs
+++ b/src/GF/Compile/CheckGrammar.hs
@@ -774,8 +774,11 @@ checkLType env trm typ0 = do
ps <- checkErr $ testOvershadow ps0 vs
if null ps
then return ()
- else checkWarn $ "WARNING: patterns never reached:" +++
- concat (intersperse ", " (map prt ps))
+---- else checkWarn $ "WARNING: patterns never reached:" +++
+---- concat (intersperse ", " (map prt ps))
+ else trace ("WARNING: patterns never reached:" +++
+ concat (intersperse ", " (map prt ps))) (return ())
+---- AR 6/4/2009: checkWarn doesn't show because of laziness (?)
_ -> return () -- happens with variable types
cs' <- mapM (checkCase arg val) cs
diff --git a/src/GF/Grammar/PatternMatch.hs b/src/GF/Grammar/PatternMatch.hs
index ba3139506..021735c79 100644
--- a/src/GF/Grammar/PatternMatch.hs
+++ b/src/GF/Grammar/PatternMatch.hs
@@ -55,7 +55,7 @@ testOvershadow pts vs = do
let numpts = zip pts [0..]
let cases = [(p,EInt i) | (p,i) <- numpts]
ts <- mapM (liftM fst . matchPattern cases) vs
- return $ [p | (p,i) <- numpts, notElem i [i | EInt i <- ts] ]
+ return [p | (p,i) <- numpts, notElem i [i | EInt i <- ts] ]
findMatch :: [([Patt],Term)] -> [Term] -> Err (Term, Substitution)
findMatch cases terms = case cases of