summaryrefslogtreecommitdiff
path: root/src/GF/Grammar/PatternMatch.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-05-22 21:47:32 +0000
committerkrasimir <krasimir@chalmers.se>2009-05-22 21:47:32 +0000
commita7900bfbc8e95053b161c6c1d50ada9c7859029a (patch)
treec1f94858b819b8b9a90da8948fdc3775222983ae /src/GF/Grammar/PatternMatch.hs
parentc520039f1c0f8b12be8291cf2c81245bd13076ad (diff)
fix the handling of wildcards
Diffstat (limited to 'src/GF/Grammar/PatternMatch.hs')
-rw-r--r--src/GF/Grammar/PatternMatch.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/GF/Grammar/PatternMatch.hs b/src/GF/Grammar/PatternMatch.hs
index 021735c79..a14b405f3 100644
--- a/src/GF/Grammar/PatternMatch.hs
+++ b/src/GF/Grammar/PatternMatch.hs
@@ -82,7 +82,7 @@ tryMatch (p,t) = do
(PVal pa _ _,_) -> trym pa t'
(_, (_,Val te _ _,_)) -> tryMatch (p, te)
(_,(x,Empty,y)) -> trym p (x,K [],y) -- because "" = [""] = []
- (PV IW, _) | isInConstantFormt -> return [] -- optimization with wildcard
+ (PW, _) | isInConstantFormt -> return [] -- optimization with wildcard
(PV x, _) | isInConstantFormt -> return [(x,t)]
(PString s, ([],K i,[])) | s==i -> return []
(PInt s, ([],EInt i,[])) | s==i -> return []
@@ -159,7 +159,7 @@ isInConstantForm trm = case trm of
varsOfPatt :: Patt -> [Ident]
varsOfPatt p = case p of
- PV x -> [x | not (isWildIdent x)]
+ PV x -> [x]
PC _ ps -> concat $ map varsOfPatt ps
PP _ _ ps -> concat $ map varsOfPatt ps
PR r -> concat $ map (varsOfPatt . snd) r