diff options
| author | krasimir <krasimir@chalmers.se> | 2009-05-22 21:47:32 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-05-22 21:47:32 +0000 |
| commit | a7900bfbc8e95053b161c6c1d50ada9c7859029a (patch) | |
| tree | c1f94858b819b8b9a90da8948fdc3775222983ae /src/GF/Grammar/PatternMatch.hs | |
| parent | c520039f1c0f8b12be8291cf2c81245bd13076ad (diff) | |
fix the handling of wildcards
Diffstat (limited to 'src/GF/Grammar/PatternMatch.hs')
| -rw-r--r-- | src/GF/Grammar/PatternMatch.hs | 4 |
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 |
