forked from GitHub/gf-core
Merge mine and aarne's variants linearization changes.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user