From af4bf660024928da20b3a1e004d347d6bc0647c4 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 18 Nov 2003 15:30:08 +0000 Subject: Using trie more. --- src/GF/Canon/CMacros.hs | 2 +- src/GF/Canon/Look.hs | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/GF/Canon') diff --git a/src/GF/Canon/CMacros.hs b/src/GF/Canon/CMacros.hs index 647cf9600..85a465871 100644 --- a/src/GF/Canon/CMacros.hs +++ b/src/GF/Canon/CMacros.hs @@ -161,7 +161,7 @@ wordsInTerm trm = filter (not . null) $ case trm of T _ cs -> concat [wo t | Cas _ t <- cs] C s t -> wo s ++ wo t FV ts -> concatMap wo ts - K (KP ss vs) -> ss ++ concat [s ++ t | Var s t <- vs] + K (KP ss vs) -> ss ++ concat [s | Var s _ <- vs] P t _ -> wo t --- not needed ? _ -> [] where wo = wordsInTerm diff --git a/src/GF/Canon/Look.hs b/src/GF/Canon/Look.hs index 1f55e4cdb..228a43f3c 100644 --- a/src/GF/Canon/Look.hs +++ b/src/GF/Canon/Look.hs @@ -166,4 +166,7 @@ ccompute cnc = comp [] noVar v = case v of LI _ -> False R rs -> all noVar [t | Ass _ t <- rs] - _ -> True --- other cases? + Con _ ts -> all noVar ts + FV ts -> all noVar ts + S x y -> noVar x && noVar y + _ -> True --- other cases that can be values to pattern match? -- cgit v1.2.3