summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbjorn <bjorn@bringert.net>2008-10-03 09:53:25 +0000
committerbjorn <bjorn@bringert.net>2008-10-03 09:53:25 +0000
commit5bc73e10bc5615346e1d17c1d1d73e4e2e656516 (patch)
tree58b17d3434ede8284347dbaee6d93d6575cf5887 /src
parent59cb392bdadba2df823209a2bdc346effdd739dc (diff)
Merge mine and aarne's variants linearization changes.
Diffstat (limited to 'src')
-rw-r--r--src/PGF/Linearize.hs5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/PGF/Linearize.hs b/src/PGF/Linearize.hs
index 8ea115d45..469654f07 100644
--- a/src/PGF/Linearize.hs
+++ b/src/PGF/Linearize.hs
@@ -60,16 +60,13 @@ linTree pgf lang = lin
R ts -> R $ ts ++ (Data.List.map (kks . prCId) xs)
TM s -> R $ (TM s) : (Data.List.map (kks . prCId) xs)
lin (Fun fun es) = let argVariants = mapM (liftVariants . lin) es
- mkVariants [t] = t
- mkVariants ts = FV ts
- in mkVariants [comp args $ look fun | args <- argVariants]
+ in variants [compute pgf lang args $ look fun | args <- argVariants]
lin (Lit (LStr s)) = R [kks (show s)] -- quoted
lin (Lit (LInt i)) = R [kks (show i)]
lin (Lit (LFlt d)) = R [kks (show d)]
lin (Var x) = TM (prCId x)
lin (Meta i) = TM (show i)
- comp ls t = variants [compute pgf lang ts t | ts <- combinations (map unvariants ls)]
look = lookLin pgf lang
variants :: [Term] -> Term