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.

Reply via email to