Commit Graph

11 Commits

Author SHA1 Message Date
Fedor Isakov ed79a8b9b9 Fix TermTrie not processing correctly ref to a Nil.
The code in ClassicTermTrie that is responsible for recursion guarding
when processing cyclic terms, used to mismatch valid pattern term
containing ref to a Nil term, which is a constant.
2019-08-10 15:18:04 +02:00
Fedor Isakov a95b1c1311 Document and optimize implementation of PersistentTermTrie.
Introduce alternative "classic" implementation of TermTrie.
Switch to ClassicTermTrie.
2018-09-09 17:14:13 +02:00
Fedor Isakov 3bdcbc0aa8 Rename TermTrie -> PersistentTermTrie, remove dummy usages. 2018-09-08 13:16:43 +02:00
Fedor Isakov 74402a8a1c New rule matching algorithm 2018-08-03 11:48:23 +02:00
Fedor Isakov b02f3d727b Fix infinite loop on cyclic terms. Detect term cycles while walking on put/remove/retrieve. 2016-12-06 16:58:15 +01:00
Fedor Isakov ed2ff61ec4 Reimplemented TermTrie using discrimination trees. 2016-06-06 16:18:49 +02:00
Fedor Isakov 8185605e99 Optimizing term trie and rules index. Using bitset to mark value tokens incidental with nodes in the "term superposition" of term trie. 2016-06-02 11:03:19 +02:00
Fedor Isakov e9969b08b7 Integrating TermTrie in the rules index, tests. 2016-05-22 15:44:35 +02:00
Fedor Isakov 82d5763039 TermTrie: maintaining the order of the values. 2016-05-19 20:31:05 +02:00
Fedor Isakov b42f005c7e TermTrie: supporting term variables. 2016-05-19 16:39:52 +02:00
Fedor Isakov a44366921b TermTrie: building an index of rules/occurrences from term values. Term variables not yet supported. 2016-05-18 15:44:56 +02:00