Re: Powerloom demo test not working...

Thomas Russ <[email protected]> Thu, 21 Aug 2008 15:13:03 -0700
Newsgroups gmane.comp.ai.powerloom
Message-ID <[email protected]>
On Aug 21, 2008, at 11:58 AM, Srini Ram wrote:

> I am trying the following (from the test-suite.plm) in CMUCL

This particular example works for me on CMUCL 19e:

CMU Common Lisp 19e (19E), running on cowabunga.isi.edu
With core: /opt/local/cmucl-19e/lib/cmucl/lib/lisp.core
Dumped on: Thu, 2008-05-01 17:38:02-07:00 on macmini
See <http://www.cons.org/cmucl/> for support information.
Loaded subsystems:
     Python 1.1, target Intel x86
     CLOS based on Gerd's PCL 2004/04/14 03:32:47


>
>
> ;;; PROPER HANDLING OF INEQUALITY RETRACTION
>
> (clear-module "TEST")
>
> (deffunction age (?p) :-> (?a integer))
>
> (assert (< (age bill) 12))
> (assert (> (age bill) 10))
>
> ;;; SHOULD RETURN 11:
> (retrieve ?x (= (age bill) ?x))
>
> Error in function HELP-BIND-VARIABLE-TO-VALUE?:
>    `:NONE' is not a valid case option
>    [Condition of type STELLA-EXCEPTION]
>
> Restarts:
>  0: [ABORT] Return to SLIME's top level.
>  1: [ABORT] Return to Top-Level.
>
> Backtrace:
>   0: (HELP-BIND-VARIABLE-TO-VALUE? #<#1=unavailable-arg> #<#1#>)
>   1: (ARGUMENTS-UNIFY-WITH-ARGUMENTS? #<#1=unavailable-arg> #<#1#>)
>   2: (TRY-SCAN-PROPOSITIONS-PROOF #<unavailable-arg>)
> ....
> Evaluation aborted...

I wonder if somehow your lisp version of PowerLoom didn't initialize
properly when loading.  There should be a single instance of the
Stella keyword :NONE that is used.

All of the following symbols are in the Stella package.
The object used in the function where it is failing is stored in
the variable
      kwd-query-none
If this ends up not being a proper Stella keyword object, then
there is some problem with the loading and initialization.  All of
that should happen automatically when PowerLoom loads.

   What is the value of kwd-query-none ?

Also the value of
      *type-check-strategy*
should also be a valid keyword, although since this gets set
during processing, it will likely not be :none, but instead be :lookup

If you load things into a fresh lisp, do you still have these problems?