summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-02-13 17:47:54 +0000
committeraarne <aarne@cs.chalmers.se>2008-02-13 17:47:54 +0000
commitc399f4f80ae8960de7004d9771400020fafe3805 (patch)
tree2f201d14d96f03c3a42734f83c5b023b8cec057a /src
parent0fc72dda4407f98aeb8f80bab18181861341b09d (diff)
kotus experiments; bindings in gfcc
Diffstat (limited to 'src')
-rw-r--r--src/GF/GFCC/Linearize.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/GF/GFCC/Linearize.hs b/src/GF/GFCC/Linearize.hs
index 03dc864d5..c66ff93c1 100644
--- a/src/GF/GFCC/Linearize.hs
+++ b/src/GF/GFCC/Linearize.hs
@@ -28,14 +28,14 @@ realize trm = case trm of
linExp :: GFCC -> CId -> Exp -> Term
linExp mcfg lang tree@(DTr xs at trees) =
- case at of
- AC fun -> addB $ comp (lmap lin trees) $ look fun
+ addB $ case at of
+ AC fun -> comp (lmap lin trees) $ look fun
AS s -> R [kks (show s)] -- quoted
AI i -> R [kks (show i)]
--- [C lst, kks (show i), C size] where
--- lst = mod (fromInteger i) 10 ; size = if i < 10 then 0 else 1
AF d -> R [kks (show d)]
- AV x -> addB $ TM (prCId x)
+ AV x -> TM (prCId x)
AM i -> TM (show i)
where
lin = linExp mcfg lang
@@ -45,6 +45,7 @@ linExp mcfg lang tree@(DTr xs at trees) =
| Data.List.null xs = t
| otherwise = case t of
R ts -> R $ ts ++ (Data.List.map (kks . prCId) xs)
+ TM s -> R $ t : (Data.List.map (kks . prCId) xs)
compute :: GFCC -> CId -> [Term] -> Term -> Term
compute mcfg lang args = comp where