Fixed two problems with the unifier machinery.
authormantoniotti
local dateWed, 19 Jul 2006 21:52:34
dateWed, 19 Jul 2006 21:52:34
hash20060719215234-0588d-27181732de93f450c7f0b916ffaa59eccafb4e53.gz
Fixed two problems with the unifier machinery.

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
2 file(s) changed:
templates-hierarchy.lisp +18 -2
unifier.lisp +37 -9