> Well, Expression Expression R is logically fine and fits
> quite well to the situation.  Interpeter restriction is
> artificial.  I do not know why interpeter forbids such
> domains, but I suspect that otherwise it would be too
> easy to create them by accident and get unwoanted
> resultes.

I'm not a big fan of "Expression" anyway, and fear that doubling the
constructor, could lead to very strange results. But I don't want to
follow all of this at the moment. It just comes to my mind that it was
also forbidden to create Fraction Fraction Integer. But that must be
handled somewhere else as I don't see it near badDoubles in clammed.boot

(1) -> F ==> Fraction


      Type: Void
(2) -> Z ==> Integer


      Type: Void
(3) -> Q ==> F Z


      Type: Void
(4) -> FQ ==> F Q


      Type: Void
(5) -> q:Q := 1

   (5)  1

                                                                 Type:
Fraction(Integer)
(6) -> fq: FQ := 1

   Fraction(Fraction(Integer)) is not a valid type.

In fact, I don't see a big problem with creating Fraction(F) where F is
already a field. In fact, we could even have something like

Fraction(F: IntegralDomain): FracCat ==
  if F has Field then F else add ...

That would probably require that every field exports FracCat. I don't
see at the moment whether this would be impossible or make too much
trouble. It seem that it has come up before.

http://axiom-wiki.newsynthesis.org/263ContinuedFractionReturnsIncorrectTypes

Any idea whether we could allow double-Fraction, i.e. make it work properly?

Ralf

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to