On 4 Feb., 15:43, Sam Steingold <
s...@gnu.org> wrote:
> Reini Urban wrote:
>
> | I just read the clisp ressources page and remembered while seeing the
> | KM link
> |
> | KM: The Knowledge Machine [Knowledge Systems Research Group]
> |
http://www.cs.utexas.edu/users/mfkb/RKF/km.html
> |
> | that I needed a macrolet patch for clisp to make km-2.0.11 work:
> | Modified file xmlify.lisp for clisp attached.
>
> see also
http://groups.google.com/group/km-qa/browse_thread/thread/af3f5cd92e3...
Even Francis Leboutte's improved xmlify macrolet doesn't work for
clisp, it still creates
a cyclic structure.
I fixed it by enabling the old space-intensive version for clisp and
forget about Carl Shapiro's version.
$ ln -s km-2-1-18-packaged.lisp km.lisp
$ clisp -c km.lisp
WARNING in IMMEDIATE-CLASSES in lines 6663..6734 :
Duplicate CASE label |aggregation-function| :
(CASE INSTANCE
((|cardinality| |aggregation-function| |ignore-inverses| |inverse| |
inverse2| |inverse3| |remove-subsumers|
|remove-subsumees| |inherit-with-overrides| |simple-inherit-with-
overrides| |fluent-status| |seq-length|
|bag-length| |after-situation-of| |prototype-participant-of| |
combine-values-by-appending| |uniquely-called|
|dont-cache-values| |nowexists| |abs| |log| |exp| |sqrt| |floor| |
aggregation-function| |min| |max| |sum| |average|
|difference| |product| |quotient| |first| |second| |third| |fourth|
|fifth| |last| |unification| |set-unification|
|append| |number| |domain| |range| |element-type| |superclasses| |
subclasses| |instances| |instance-of| |add-list|
|del-list| |pcs-list| |ncs-list| |supersituations| |subsituations| |
subslots| |superslots|
|slots-to-opportunistically-evaluate| |prev-situation| |next-
situation| |block-projection-for| |before-situation-of|
|before-situation| |after-situation| |domain-of| |range-of| |fluent-
status-of| |called| |prototype-participants|
|prototypes| |prototype-of| |cloned-from| |clone-built-from| |has-
built-clones| |has-clones| |prototype-scope|
|name| |elements| |member-of| |members| |classes| |all-instances| |
all-prototypes| |all-classes| |all-superclasses|
|all-subclasses| |all-supersituations| |all-subslots| |assertions|
== /== < >)
T))
$ clisp -i km.fas -x '(in-package :km)(ext:saveinitmem "km" :quiet
t :executable t ::norc t)(ext:exit)'
$ ./km
1> (load-kb "
test-suite.km")
...
test-suite.km loaded!
(|t|)
So it looks good.