On Wednesday, February 28, 2018 at 8:00:34 AM UTC, Simon King wrote:
>
> So, we have two x with different roles. It would make sense to disallow 
> the creation of such rings. 
>
> -1. It would mean any structure with named generators would have to go dig 
into the tower that defines it base to check for name clashes. This would 
make for very unfunctorial code:

Rather than having a construction

R['x'] -> create a univariate polynomial ring in 'x' over the ring R. Here 
R can be any (commutative) ring.

it would need:

R is an element of the category of commutative rings having none of its 
generators called 'x'.

I think it makes no sense to build such ridiculous restrictions into the 
system. The corollary of allowing them is having to deal with generators 
whose names might be ambiguous in the tower. It's a little unpleasant, but 
at least explicable, and once one learns how to refer to generators 
unambiguously, quite doable. These name clashes only happen interactively. 
On the other hand, name clashes are particularly prone to happen deep in 
library code, where avoiding them will be very hard.


-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to