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/Compile | |
| parent | c520039f1c0f8b12be8291cf2c81245bd13076ad (diff) | |
fix the handling of wildcards
Diffstat (limited to 'src/GF/Compile')
| -rw-r--r-- | src/GF/Compile/AbsCompute.hs | 2 | ||||
| -rw-r--r-- | src/GF/Compile/CheckGrammar.hs | 2 | ||||
| -rw-r--r-- | src/GF/Compile/Compute.hs | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/GF/Compile/AbsCompute.hs b/src/GF/Compile/AbsCompute.hs index ce3528b68..a4a8d803e 100644 --- a/src/GF/Compile/AbsCompute.hs +++ b/src/GF/Compile/AbsCompute.hs @@ -109,7 +109,7 @@ tryMatch (p,t) = do trym p t' = err (\s -> tracd s (Bad s)) (\t -> tracd (prtm p t) (return t)) $ ---- case (p,t') of - (PV IW, _) | notMeta t -> return [] -- optimization with wildcard + (PW, _) | notMeta t -> return [] -- optimization with wildcard (PV x, _) | notMeta t -> return [(x,t)] (PString s, ([],K i,[])) | s==i -> return [] (PInt s, ([],EInt i,[])) | s==i -> return [] diff --git a/src/GF/Compile/CheckGrammar.hs b/src/GF/Compile/CheckGrammar.hs index 59961e0cd..bad6bcbcf 100644 --- a/src/GF/Compile/CheckGrammar.hs +++ b/src/GF/Compile/CheckGrammar.hs @@ -897,7 +897,7 @@ checkLType env trm typ0 = do pattContext :: LTEnv -> Type -> Patt -> Check Context pattContext env typ p = case p of - PV x | not (isWildIdent x) -> return [(x,typ)] + PV x -> return [(x,typ)] PP q c ps | q /= cPredef -> do ---- why this /=? AR 6/1/2006 t <- checkErr $ lookupResType cnc q c (cont,v) <- checkErr $ typeFormCnc t diff --git a/src/GF/Compile/Compute.hs b/src/GF/Compile/Compute.hs index dc7b51071..126575946 100644 --- a/src/GF/Compile/Compute.hs +++ b/src/GF/Compile/Compute.hs @@ -300,8 +300,8 @@ computeTermOpt rec gr = comput True where _ -> case t' of FV ccs -> mapM (\c -> comp g (S c v')) ccs >>= returnC . variants - T _ [(PV IW,c)] -> comp g c --- an optimization - T _ [(PT _ (PV IW),c)] -> comp g c + T _ [(PW,c)] -> comp g c --- an optimization + T _ [(PT _ PW,c)] -> comp g c T _ [(PV z,c)] -> comp (ext z v' g) c --- another optimization T _ [(PT _ (PV z),c)] -> comp (ext z v' g) c |
