> > BTW: How can I look at the Rep of some object?
> 
> You cannot.

So the implementation details are hidden.

> Well, you can cheat (i.e. "pretend"). If you *know* what the
> representation is you can say (in the interpreter)

I just need it for debugging some transformations.

> R ==> Integer
> scaPart ==> List List String
> vecPart ==> List String
> T := Record(coe:R, sca:scaPart, vec:vecPart)
> VARep := List T
> v := vector(u)$VA(INT)
> v pretend VARep
> 
> I hope, I didn't make a mistake. It's untested. But I guess, you get
> the idea.

Thanks! It works out of the box :-)
Nice trick.

This is very useful for debugging the operations.

(49) -> (v*v) pretend VARep

   (49)  [[coe= 1,sca= [["u","u"]],vec= []]]
   Type: List(Record(coe: Integer,sca: List(List(String)),vec: List(String)))
(50) -> (v^v) pretend VARep

   (50)  [[coe= 1,sca= [],vec= ["u","u"]]]
   Type: List(Record(coe: Integer,sca: List(List(String)),vec: List(String)))

(56) -> (2*s3p(v,v,v)+v) pretend VARep

   (56)  [[coe= 2,sca= [["u","u","u"]],vec= []],[coe= 1,sca= [],vec= ["u"]]]
   Type: List(Record(coe: Integer,sca: List(List(String)),vec: List(String)))

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