On 07/11/2011 05:55 PM, Yrogirg wrote:
And what is wring with this package?

)abbrev package TST Test

Test(R: Algebra(Float)): with
     g : Float ->  Float
  == add
     g y == y
     f(x : Integer, y : Integer) : (Float ->  Float) == f +->  f

I'd consider that a bug.

This

---rhxBEGIN p.spad
)abbrev package TST Test

Test(R: Algebra(Float)): with
    g : Float -> Float
--    f: (Integer, Integer) -> (Float -> Float)
 == add
    g y == y
    f(x: Integer, y: Integer): Float -> Float == (u: Float): Float +-> u
---rhxEND p.spad

also doesn't compile and gives

****** comp fails at level 1 with expression: ******
((DEF (|f| |x| |y|) ((|Mapping| (|Float|) (|Float|)) (|Integer|) (|Integer|))
  (NIL NIL NIL) (+-> (|:| (|:| |u| (|Float|)) (|Float|)) |u|)))
****** level 1  ******
$x:= (DEF (f x y) ((Mapping (Float) (Float)) (Integer) (Integer)) (NIL NIL NIL) (+-> (: (: u (Float)) (Float)) u))
$m:= $EmptyMode
$f:=
((((|$Information| #) (~= #) (= #) (|coerce| #) ...)))

   >> Apparent user error:
   Wrong number of arguments:
   (f x y)

I first thought it's a problem with using f in f+->f, but the problem is somewhere else.

However, uncommenting the export

f: (Integer, Integer) -> (Float -> Float)

compiles fine.

But now to my surprise, with the export

f: (Integer, Integer) -> Float -> Float

it gives again the above error. Isn't "->" right-associative in FriCAS?

Finally, I tried

f(x: Integer, y: Integer)(u: Float): Float == u

which compiles fine if there is no export for f and gives

   compiling local f(: x (Integer))(: y (Integer)) : Float -> Float

   >> Apparent user error:
    (f (: x (Integer)) (: y (Integer)))  is local and exported

if the export for f is specified (with or without parentheses).

Although from my experiments you can certainly find a workaround, the compiler behaves (IMHO) strange here.

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