summaryrefslogtreecommitdiff
path: root/src/GF/Grammar/Compute.hs
diff options
context:
space:
mode:
authoraarne <unknown>2003-11-05 14:42:29 +0000
committeraarne <unknown>2003-11-05 14:42:29 +0000
commit49c17be41a7d572d27df74eb7351b672e85953a1 (patch)
tree2856b2b2af3c3d6adea285dcb42173b920751897 /src/GF/Grammar/Compute.hs
parented1d2a2954a3c955625cf210905a67e0683c8411 (diff)
working with interfaces
Diffstat (limited to 'src/GF/Grammar/Compute.hs')
-rw-r--r--src/GF/Grammar/Compute.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/GF/Grammar/Compute.hs b/src/GF/Grammar/Compute.hs
index 1f1eba28c..3dd90012d 100644
--- a/src/GF/Grammar/Compute.hs
+++ b/src/GF/Grammar/Compute.hs
@@ -129,10 +129,12 @@ computeTerm gr = comp where
(K a, Alts (d,vs)) -> do
let glx = Glue x
comp g $ Alts (glx d, [(glx v,c) | (v,c) <- vs])
- (Alts _, K a) -> do
- x' <- strsFromTerm x
+ (Alts _, K a) -> checks [do
+ x' <- strsFromTerm x -- this may fail when compiling opers
return $ variants [
foldr1 C (map K (str2strings (glueStr v (str a)))) | v <- x']
+ ,return $ Glue x y
+ ]
_ -> do
mapM_ checkNoArgVars [x,y]
r <- composOp (comp g) t