"( gcd -- head function name
[(F = Fraction INT) (P = UP x F)] -- table of type input
P -- returned type input
[P P] -- argument list input
(UnivariateGcd P) -- package call input
[ -- argument input list
(UP [3 1 0] [(Fr 1 1) (Fr 7 5) (Fr 4 1)]) -- arg1
(UP [9 4 2 0] [(Fr 1 1) (Fr -2 1) (Fr -1 1) (Fr 1 3)]) -- arg2
]
)"
Sergei, did you see Fr in my mail? Didn't you get the point of assigning
"Z:=Integer;F:=Fraction(Z);..." and then using Z, F, etc in the string
that would have to be parsed, i.e. there is no generic denotation in
your argument strings (arg1, arg2), but this rather depends on what you
assign previously to the types, i.e. to Z, F etc.
The reason was that reparsing types is avoided, because all this is done
at the beginning and done just once.
Even more is true. If you connect to FriCAS and keep the connection
open. Then you probably just have to transfer the data once per session.
In other words, you basically talk from Haskell with the FriCAS interpreter.
Waldek, do you know whether the interpreter would still be slow if it
get's enough type information so that functions selection would be
unique and basically no need to search for the right option among
alternatives?
Sorry, but I haven't yet looked at the way Sergei connects Haskell with
FriCAS.
Ralf
--
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.