Hi!
On 2013-02-15, Volker Braun <[email protected]> wrote:
> And nothing lasts as long as a temporary quick fix ;-)
Very true.
But when I look at ParentWithGens itself, it seems to me fine.
ParentWithBase seems almost fine, except for
cdef _coerce_c_impl(self,x):
check_old_coerce(self)
if not self._base is self:
return self._coerce_try(x,(self._base))
else:
raise TypeError, "No canonical coercion found."
where self._coerce_try is not defined in this file. But since coercion
is supposed to be provided in a different way anyway (in the new
coercion model), one could just include a deprecation warning, and see
what classes actually call the old _coerce_c_impl. In this way, one
could assess how much work is needed to be done.
Concerning parent_old.Parent, I notice that the __init__ method only
does things that would make sense to be done in parent.Parent.__init__
as well. In particular, it call _set_element_constructor, which is
defined in parent.Parent anyway.
Strangely parent_old.Parent.__init__ does not call
parent.Parent.__init__. That's why rings.ring.Ring.__init__ calls
parent.Parent.__init__ directly. And of course, parent_old.Parent has a
lot of methods that belong to the old coercion model.
But would it seem so hopeless to try and merge parent_old.Parent and
parent.Parent into one class?
I guess I'll start with the afore-mentioned assessment...
Cheers,
Simon
--
You received this message because you are subscribed to the Google Groups
"sage-devel" 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/sage-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.