summaryrefslogtreecommitdiff
path: root/src/GF/Canon
diff options
context:
space:
mode:
authoraarne <unknown>2005-09-16 12:56:12 +0000
committeraarne <unknown>2005-09-16 12:56:12 +0000
commit076452779cdfefa45888935ab24ed342d8e56b54 (patch)
treea9c389732f7e46c4903a50fa76744000c90357bf /src/GF/Canon
parent5171e7d384d45196c09bc49be6f9ce6c5b279bab (diff)
tabulation optimization
Diffstat (limited to 'src/GF/Canon')
-rw-r--r--src/GF/Canon/CMacros.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/GF/Canon/CMacros.hs b/src/GF/Canon/CMacros.hs
index c5268b8cb..a89d13611 100644
--- a/src/GF/Canon/CMacros.hs
+++ b/src/GF/Canon/CMacros.hs
@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
--- > CVS $Date: 2005/06/23 14:32:43 $
+-- > CVS $Date: 2005/09/16 13:56:12 $
-- > CVS $Author: aarne $
--- > CVS $Revision: 1.27 $
+-- > CVS $Revision: 1.28 $
--
-- Macros for building and analysing terms in GFC concrete syntax.
--
@@ -198,6 +198,11 @@ allLinFields trm = case trm of
FV ts -> do
lts <- mapM allLinFields ts
return $ concat lts
+
+ T _ ts -> liftM concat $ mapM allLinFields [t | Cas _ t <- ts]
+ V _ ts -> liftM concat $ mapM allLinFields ts
+ S t _ -> allLinFields t
+
_ -> prtBad "fields can only be sought in a record not in" trm
-- | deprecated