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
[email protected]
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel
