diff options
| author | kr.angelov <kr.angelov@chalmers.se> | 2008-05-21 13:10:54 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@chalmers.se> | 2008-05-21 13:10:54 +0000 |
| commit | c544ef31823c7d2c28c28cae408cca5d71e6978d (patch) | |
| tree | b9693bc684d1737062e45438cedf7536cf5513d5 /src-3.0/GF/Devel/Compute.hs | |
| parent | 529374caaa6d451400f57f1ff82106d89d603944 (diff) | |
use ByteString internally in Ident, CId and Label
Diffstat (limited to 'src-3.0/GF/Devel/Compute.hs')
| -rw-r--r-- | src-3.0/GF/Devel/Compute.hs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src-3.0/GF/Devel/Compute.hs b/src-3.0/GF/Devel/Compute.hs index a9081c28a..a44ee5424 100644 --- a/src-3.0/GF/Devel/Compute.hs +++ b/src-3.0/GF/Devel/Compute.hs @@ -21,6 +21,7 @@ import GF.Infra.Option import GF.Data.Str import GF.Grammar.PrGrammar import GF.Infra.Modules +import GF.Grammar.Predef import GF.Grammar.Macros import GF.Grammar.Lookup import GF.Grammar.Refresh @@ -50,8 +51,8 @@ computeTermOpt rec gr = comput True where comput full g t = ---- errIn ("subterm" +++ prt t) $ --- for debugging case t of - Q (IC "Predef") _ -> return t - Q p c -> look p c + Q p c | p == cPredef -> return t + | otherwise -> look p c -- if computed do nothing Computed t' -> return $ unComputed t' @@ -89,7 +90,7 @@ computeTermOpt rec gr = comput True where _ | not (null [() | FV _ <- as']) -> compApp g (mkApp h' as') c@(QC _ _) -> do return $ mkApp c as' - Q (IC "Predef") f -> do + Q mod f | mod == cPredef -> do (t',b) <- appPredefined (mkApp h' as') if b then return t' else comp g t' @@ -446,8 +447,8 @@ computeTermOpt rec gr = comput True where -- | argument variables cannot be glued checkNoArgVars :: Term -> Err Term checkNoArgVars t = case t of - Vr (IA _) -> Bad $ glueErrorMsg $ prt t - Vr (IAV _) -> Bad $ glueErrorMsg $ prt t + Vr (IA _ _) -> Bad $ glueErrorMsg $ prt t + Vr (IAV _ _ _) -> Bad $ glueErrorMsg $ prt t _ -> composOp checkNoArgVars t glueErrorMsg s = |
