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...)


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to