Using trie more.

This commit is contained in:
aarne
2003-11-18 15:30:08 +00:00
parent 8ecf475d5a
commit af4bf66002
9 changed files with 99 additions and 66 deletions

View File

@@ -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

View File

@@ -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?