Martin Rubey <[EMAIL PROTECTED]> writes: > Dear Gaby, Waldek,
Below a little more debugging information, that may be helpful. (I deleted inessential output) For a reason I do not know, upDollar passes in the case of "::" coercion (note that the definitions of co and coerce in Species are *identical*) a vector to upDollarTuple. (well, I believe # introduces a vector, I'm not sure) I also noticed, that it is not possible to call "co" within the code of Species If I try to, I get: >> System error: Execution of a form compiled with errors. Form: ((ELT $ 17) s) Compile-time error: illegal function call It would be *really* nice to have this fixed... (8) -> S1 := 1$SPECIES INT 1<enter upDollar : (#(|Dollar| NIL NIL NIL NIL) (SPECIES INT) (#(|One| NIL NIL NIL NIL))) 1>exit upDollar : ((|Species| (|Integer|))) (8) "CharacteristicSpecies(1)" Type: Species(Integer) (9) -> S2 := co S1 (9) CharacteristicSpecies(Integer,1) Type: SpeciesCategory(Integer) (10) -> name()$S2 1<enter upDollar : (#(|Dollar| NIL NIL NIL NIL) S2 (#(|name| NIL NIL NIL NIL))) 1<enter upDollarTuple : #(|Dollar| NIL NIL NIL NIL)\|name|\(|CharacteristicSpecies| (|Integer|) 1)\(#(|Dollar| NIL NIL NIL NIL) S2 (#(|name| NIL NIL NIL NIL)))\NIL\0 1<enter isOpInDomain : |name|\(|CharacteristicSpecies| (|Integer|) 1)\1 1>exit isOpInDomain : NIL 1>exit upDollarTuple : NIL 1<enter isOpInDomain : |name|\(|CharacteristicSpecies| (|Integer|) 1)\0 1>exit isOpInDomain : ((((|String|)) 15 T ELT)) enter name 1>exit upDollar : ((|String|)) (10) "CharacteristicSpecies(1)" Type: String (11) -> S3 := S1 :: SpeciesCategory INT (11) CharacteristicSpecies(Integer,1) Type: SpeciesCategory(Integer) (16) -> name()$S2 1<enter upDollar : (#(|Dollar| NIL NIL NIL NIL) S2 (#(|name| NIL NIL NIL NIL))) 1<enter upDollarTuple : #(|Dollar| NIL NIL NIL NIL)\|name|\(|CharacteristicSpecies| (|Integer|) 1)\(#(|Dollar| NIL NIL NIL NIL) S2 (#(|name| NIL NIL NIL NIL)))\NIL\0 1<enter isOpInDomain : |name|\(|CharacteristicSpecies| (|Integer|) 1)\1 1>exit isOpInDomain : NIL 1>exit upDollarTuple : NIL 1<enter isOpInDomain : |name|\(|CharacteristicSpecies| (|Integer|) 1)\0 1>exit isOpInDomain : ((((|String|)) 15 T ELT)) enter name 1>exit upDollar : ((|String|)) (16) "CharacteristicSpecies(1)" Type: String (17) -> name()$S3 1<enter upDollar : (#(|Dollar| NIL NIL NIL NIL) S3 (#(|name| NIL NIL NIL NIL))) 1<enter upDollarTuple : #(|Dollar| NIL NIL NIL NIL)\|name|\#((|CharacteristicSpecies| (|Integer|) 1) (#<FUNCTION |lookupComplete|> #((|CharacteristicSpecies| (|Integer|) 1) (# #((|CharacteristicSpecies| (|Integer|) 1) (# #((|CharacteristicSpecies| (|Integer|) 1) (# #((|CharacteristicSpecies| (|Integer|) 1) (# #((|CharacteristicSpecies| (|Integer|) 1) (# #((|CharacteristicSpecies| (|Integer|) 1) (# #((|CharacteristicSpecies| (|Integer|) (and so on...) ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ open-axiom-devel mailing list open-axiom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open-axiom-devel