[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Help with JET

From: root
Subject: Re: [Axiom-developer] Help with JET
Date: Thu, 9 Feb 2006 20:28:49 -0500

The compiler is looking for something that is defined as 
Ring with order(NonNegativeInteger) -> % , coerce(OutputForm) -> %, ...

If it gets a bare 'Ring' it can't find these functions in the export list.

It helps if you format it:

      [1] generate: 

  not known that (Ring) is of mode 
  (CATEGORY domain

    (SIGNATURE order 
      ((NonNegativeInteger) $))

    (SIGNATURE coerce 
      ((OutputForm) $))

    (SIGNATURE printSys 
      ((OutputForm) (List D)))

    (SIGNATURE display 
      ((Void) $))

    (SIGNATURE copy 
      ($ $))

    (SIGNATURE retract 
      ((List D) $))

    (SIGNATURE jacobiMatrix 
      ((List (SparseEchelonMatrix JB D)) $))

    (SIGNATURE generate 
      ($ (List D)))

    (SIGNATURE join 
      ($ $ $))

    (SIGNATURE insert 
      ($ (List D) $))

    (SIGNATURE dimension 
      ((NonNegativeInteger) $ (NonNegativeInteger)))

    (SIGNATURE setSimpMode 
      ((NonNegativeInteger) (NonNegativeInteger)))

    (SIGNATURE simplify 
      ((Record (: SDe $) (: IC (List D))) $))

    (SIGNATURE extractSymbol 
      ((SparseEchelonMatrix JB D) $ (Boolean)))

    (SIGNATURE analyseSymbol 
      ((Record (: Rank (NonNegativeInteger))
               (: NumMultVar (NonNegativeInteger))
               (: Betas (List (NonNegativeInteger))))
       (SparseEchelonMatrix JB D)))

    (SIGNATURE prolongSymbol
       ((SparseEchelonMatrix JB D)
        (SparseEchelonMatrix JB D)))

    (SIGNATURE prolongMV 
      ((Record (: Rank (NonNegativeInteger))
               (: NumMultVar (NonNegativeInteger))
               (: Betas (List (NonNegativeInteger))))
       (Record (: Rank (NonNegativeInteger))
               (: NumMultVar (NonNegativeInteger))
               (: Betas (List (NonNegativeInteger))))))

    (SIGNATURE project 
       ($ $ (NonNegativeInteger)))

    (SIGNATURE prolong 
       ((Record (: SDe $) (: IC (List D)))

    (SIGNATURE prolong 
       ((Record (: SDe $) (: IC (List D)))

    (SIGNATURE tableau 
       ((SparseEchelonMatrix JB D)
        (SparseEchelonMatrix JB D)
        (Differential JB D)))

    (SIGNATURE tableau 
       ((SparseEchelonMatrix JB D)
        (SparseEchelonMatrix JB D)
        (List (Differential JB D)))))

it appears that somewhere someone is trying to use a Ring as
an argument but the compiler can't figure out if Ring has those
elements in its signature (which it clearly does not).

1) Try to figure out what domain has the functions like 
     "tableau", "prolong", "project", etc in its list of exports

2) Call that domain 'D'

3) Look for the use of Ring where a thing of type 'D' is needed.

4) replace Ring with a thing of type 'D'.

It might be the case that there is not a direct use of 'Ring'
but of something that derives from 'Ring', say 'Foo'.

If the compiler is trying to use 'Foo' which extends 'Bar' which
extends 'Ring' and 'Bar' is missing then the compiler thinks that
'Ring' should have the exports of 'Bar'. So it tries to compile
'Foo', can't find "tableau" in Foo, so it looks in the parent
signature (should be Bar which is missing and moved up to Ring)
which does not have "tableau".

This could be caused by not having a file loaded while compiling.
It could be caused by not "exposing" the 'Bar' domain so it can't
be found (unlikely since you probably don't play with expose).

Or it could just be a bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]