"( 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.

Reply via email to