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.