On 24 July 2014 04:22, Robert Bradshaw <rober...@math.washington.edu> wrote: > On Wed, Jul 23, 2014 at 5:47 PM, rjf <fate...@gmail.com> wrote: >> >> >> On Saturday, July 19, 2014 8:22:39 AM UTC-7, Nils Bruin wrote: >>> >>> On Saturday, July 19, 2014 5:43:57 AM UTC-7, defeo wrote: >>>> >>>> However, Julia multimethods are backed up by a powerful coercion >>>> system, so I do not understand the "step back" criticism. >>>> >>> That comment wasn't made with respect to Julia, because that would be >>> comparing the coercion facilities of a CAS to those of a programming >>> language. Coercion in a CAS tends to be a *lot* more complicated than what >>> programming languages are designed for. As an example: >>> >>> Consider A+B where A is a polynomial in ZZ[x,y] and B is a power series in >>> F_q[[x]] (finite field with q elements). >>> >>> Do you expect your CAS to make sense of that addition? Sage does. >> >> A CAS that has representations for those two objects will very likely make >> sense of that addition, so Sage is hardly unique. > > Show me one.
Not Magma, anyway: Magma V2.20-6 Thu Jul 24 2014 09:18:47 on hilbert [Seed = 4286344687] Type ? for help. Type <Ctrl>-D to quit. > R1<x,y> := PolynomialRing(Integers(),2); > f := x+y^2+5; > f; x + y^2 + 5 > q := 125; > Fq := GF(q); > R2<x> := PowerSeriesRing(Fq); > g := R2!(3+x+x^4); > g; 3 + x + x^4 > f+g; >> f+g; ^ Runtime error in '+': Bad argument types Argument types given: RngMPolElt, RngSerPowElt[FldFin] > >>> It returns an answer in F_q[[x]][y] (i.e., a polynomial in y over power >>> series in x over F_q) . You can argue whether it's desirable for a system to >>> try to be that smart, but all computer algebra systems I know are a "step >>> back" relative to this. Programming languages do not tend to have type >>> models that would even allow you to try and make sense of this kind of >>> question. >> >> > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.