Ralf Hemmecke wrote:
>
> The following program demonstrates a bug in the SPAD compiler.
> The file compiles fine with r1168.
> The compiler should actually refuse this program, because in
> if R has Algebra(R)
> it is only known that "R has SetCategory". So in my understanding
> it is not known that R satisfies the conditions to be an argument for
> the
> "Algebra" constructor.
>
> And even if the category part were OK, the add part misses
> implementations
> for the functions exported by Algebra(R).
>
> Ralf
>
> ---rhxBEGIN parametricConditional.spad
> )abbrev package PCXX ParametricXConditional
> ParametricXConditional(R: BasicType): Exports == Implementation where
> Exports ==> with
> order: R -> R
> if R has SetCategory then
> if R has Algebra(R) then Algebra(R)
> Implementation ==> add
> order(r: R): R == r
> ---rhxEND parametricConditional.spad
>
Yes, this is known problem: currently Spad compiler do not check
that parameters to constructors in some context (basicaly in
"category part") are of correct type. This is on todo list, but
requires some work.
--
Waldek Hebisch
[email protected]
--
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.