On 10/13/2014 03:46 AM, Waldek Hebisch wrote: >> Unfortunately, that would mean some more deep change to Algebra, >> since FriCAS, for example uses differentiate: (%, Symbol) -> % in >> Expression(R) which is basically used in DERHAM (and, of course, >> it's somehow convenient). > > It make sense to omit variable names in some cases, for example > SparseUnivariatePolynomial gets a lot of use. But in general names > are important for readability and FriCAS tries to follow traditional > notation. So we should support names.
I've nothing against names. Only if they are meant to be important for the domain. I'd rather consider them as an optional parameter of a domain so that the printing of the objects looks nice. I.e. if no variables are given, something like x1, x2, etc is used. Or maybe a new (default) symbol for each domain, so that there will be no conflicts. And I rather think we should have two levels of such domains. The lower level should basically work without variables and implement all the features. Then there could be a small wrapper domain that would serve as an interface to the end user. Programming should still be done with the low-level domain. > Well, SAE contains no names but may cause problems. Where? >> Suppose you have >> >> Foo(l1: List Symbol, Bar(#l1)): ... == ... >> >> And in a session you type >> >> list1 := ['x, 'y] list2 := ['x, 'y] F1 := Foo(list1, Bar # list1) >> F2 := Foo(list2, Bar # list1) >> >> Should FriCAS already complain in the construction of F2? Are F1 >> and F2 identical? > > Your declaration looks incorrct, because second argument in > declaration of Foo should be identifier + type. No. I wanted it exactly that way. > Assuming that this is fixed F1 and F2 should be equal: types produced > by named constructors are equal when the the constructor names are > equal and values of arguments are equal. Are you saying that DirectProduct(5,Integer) and DirectProduct(2+3,Integer) are identical types in FriCAS? OK, I would understand if they are identical in the interpreter. But in SPAD? Does the compiler evaluate? 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.
