f(x: Integer, y: Integer)(u: Float): Float == u
which compiles fine if there is no export for f
AFAICS to resultion code is bogus.
Maybe its the same reason why the code below gives
compiling local foo(: x (Integer)) : Integer -> Integer
****** comp fails at level 3 with expression: ******
error in function (foo (: x (Integer)))
(+ (* 1000 | << x >> |) |y|)
****** level 3 ******
$x:= x
$m:= $EmptyMode
$f:=
((((|y| # . #1=#) (|foo| # . #2=#) (|y| . #1#) (|foo| # . #2#) ...)))
>> Apparent user error:
cannot compile (* 1000 x)
for version (a) but compiles without error for (b).
BTW, is form (a) actually supported by the current implementation of the
spad compiler? It should. Actually also in the interpreter.
Ralf
---rhxBEGIN p.spad
)abbrev package TST Test
Z ==> Integer
Test(): with
foo: Z -> (Z -> Z)
== add
--(a)
foo(x: Z)(y: Z): Z == 1000*x+y
--(b) foo(x: Z): Z -> Z == (y: Z): Z +-> 1000*x+y
---rhxEND p.spad
--
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.