The idea (which later became incorporated in InterLoops, CommonLoops, and the Common Lisp Object System (CLOS)) was that a function could be defined as a collection of methods, each one of which could perform type discrimination on any of its arguments to determine if the method was applicable.
While doing this work on what became CommonLoops (and CLOS) and on my extension, which I called CommonLog, I became more and more dissatisfied with the complexity of the resulting language.
With others at Xerox PARC, Kahn has been active in designing and implementing CommonLoops
, a proposed extension of CommonLisp for object-oriented programming; CommonLog, a logic programming extension to CommonLoops
; and Vulcan, a concurrent logical object system.