On Tue, Aug 23, 2022 at 04:51:02PM +0200, Ralf Hemmecke wrote:
> Shouldn't that be true? Is this an oversight in the implementation?
> 
> (159) -> SparseUnivariatePolynomial(Integer) has Canonical
> 
>    (159)  false
> 
> Same for UnivariatePolynomial('x, Integer).
> 
> Should I open an issue for this? Basically we currently ignore "Canonical".

Well, it would be easy to add Canonical to more domains.  OTOH
currenty Canonical is essentially unused, more precisly it is
only used to propagate itself.

What do you want to do with Canonical?  Basically the only use
I can think of is in definition of hash functions.  But
mutation can invalidate hashes.  So in narrow interpretation
Canonical should mean that values are immutable.  But
SparseUnivariatePolynomial has pomopo! so would be disqualified.

Of course, one can declare that users should not mutate values put
in hash tables and allow domains allowing mutation.  But I think
we should clarify possible uses of Canonical befor we go on.

If you have some plan for Canonical, then say what you want to
do and if it looks OK we can annotate several domains.

-- 
                              Waldek Hebisch

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/20220828175804.GA560%40fricas.math.uni.wroc.pl.

Reply via email to