<snip>
> Is this a weakness of the SPAD-compiler?
Try the following:
)abbrev package FOO Foo
Foo(n: Integer): Exports == Implementation where
Exports ==> Ring
Implementation ==> (n > 2 => Fraction(Integer); Integer) add
foo () : Integer == 1
I do not know if it works, but at least for me it compiles.
Note that there is one and only one 'add' here.
Yes, it is a weakness in SPAD compiler. Theoretically without 'add'
your definition should work, but you get what you get.
--
Waldek Hebisch