From 3e3ba03724491da9afb260ba46a127f6cb481f03 Mon Sep 17 00:00:00 2001 From: bjorn Date: Fri, 3 Oct 2008 08:18:24 +0000 Subject: [PATCH] Don't build FV terms if there is exactly one variant. --- src/PGF/Linearize.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PGF/Linearize.hs b/src/PGF/Linearize.hs index 53bf9fdf4..8ea115d45 100644 --- a/src/PGF/Linearize.hs +++ b/src/PGF/Linearize.hs @@ -60,7 +60,9 @@ 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 - in FV [comp args $ look fun | args <- argVariants] + mkVariants [t] = t + mkVariants ts = FV ts + in mkVariants [comp 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)]