Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Fixed unification of cases with variables. Added preliminary code to match "tables" (it may be removed later on).
Minor changes (added COPYING information and other minutiae).
Delete trailing whitespace. In lambda-list-parsing.lisp this fixes a bug with ~@<newline> format directives.
unifier.lisp: Allow vectors to unify with sequence templates. test/unification-tests.lisp: new test to verify the change
Use *unify-string-case-sensitive-p* consistently. Change the documentation. templates-hierarchy.lisp: Fix stream argument to print-object.
After a careful reading of PAIP fixed a very subtle bug in VAR-UNIFY that prevented the correct unification of: (?x ?y a) with (?y ?x ?x)
Minor cosmetic changes.
Major API change to 'unify'. It now accepts keywords. Old code shouls not be affected, but new code is now more flexible. Look the the STRING and (new) CHARACTER methods to see how this change is affecting the code.
Fixed two problems with the unifier machinery. The first one had to do with the matching of NIL against SYMBOL and LIST in several places: essentially, the problem is incongruencies in the results of COMPUTE-APPLICABLE-METHODS in these cases. I think I caught most of them: unification of lists and the occur-check were the obvious places where things went awry. The second problem had to do with the reader macro #T. The original code generated an object at read time, which is not such a good idea. Now the code generates a call to MAKE-TEMPLATE with is evaluated later. Incidentally, the reader macro function is now called |sharp-T-reader|, in order to placate Emacs fontification. Modified Files: templates-hierarchy.lisp unifier.lisp
Fixed problem with the unification of a list with a SEQUENCE-TEMPLATE. The implementation was not checking that the length of the list was compatible with the length of the required elements in the template. Apart from that, keyword matching is still unimplemented.
Fixed two major bugs reported by Norman Werver. Unification of strings and symbols and of numers and symbols was not recurring on VAR-UNIFY, as required; thus (unify '(?x ?x) '("asd" "qweert")) and (unify '(foo ?x baz) '(foo 42 ?x)) would succed. The two cases are now fixed.
Fixed minor problem in Lambda List parsing. Also VALID-TEMPLATE-P was expanded, and it looks like it should become a generic function.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|