AFAICS ContinuedFraction itself is fine, for example
2::ContinuedFraction(Integer)/3::ContinuedFraction(Integer)
works. The trouble is in the interpreter:
(2) -> coerce((2/3))$ContinuedFraction(Integer)
There are 78 exposed and 131 unexposed library operations named
coerce having 1 argument(s) but none was determined to be
applicable. Use HyperDoc Browse, or issue
)display op coerce
to learn more about the available operations. Perhaps
package-calling the operation or using coercions on the arguments
will allow you to apply the operation.
Cannot find a definition or applicable library operation named
coerce with argument type(s)
Fraction(Integer)
Perhaps you should use "@" to indicate the required return type,
or "$" to specify which version of the function you need.
So, interpreter can no longer find 'coerce'. Looking at list of
operations is see that 'coerce' is there and I expect that calling
it from Spad would work.
Change is due to commit 8093a181ad571732d134ebcbeb711f3c200d237c,
Export Algebra(Fraction(Integer)) only in characteristic 0
We still have:
(2) -> ContinuedFraction(Integer) has Algebra(Fraction(Integer))
(2) true
so the commit is doing nothing wrong. I suspect that trouble is
because operation list has different order. Unfortunatly, there is
an old interpreter bug in search for operations. Due to this bug
interpreter may sometimes miss operations, depending on their
position in operation list.
Fixing this will take some time
--
Waldek Hebisch