DyALog DyALog has been developed during the last few years to show the validity of tabulation for logic programs and grammars. The documentation is still largely incomplete. Typed Feature Structures are now available as well as bidirectional parsing for Definite Clause Grammars and Bound Movement Grammars, hilog notation, and some aggregate predicates. Release 1.1 also introduced the compilation of Tree Adjoining Grammars . Release 1.5.0 offers the possiblity to declare interfaces to C functions.
Presentation slides are available, old ones in English and recent ones in French .
Indexing Efficient term searching in the table modulo unification or subsumption are one of the main problems yet to solve in DyALog. This scheme does not work well when storing complex terms that only discriminate late on the indexing path. Moreover, this scheme only provide an approximation of searching modulo unification and must be completed by costly unification on each potential candidate. Note that is still better that what provided by most Prolog systems, where indexing is only done on the first predicate argument. A better approach seems to use substitution trees to factorize unification along a tree whose leaves are the indexed terms.