On Sat, 28 Oct 2006 17:59:41 -0700, David Harvey  
<[EMAIL PROTECTED]> wrote:
> I'm going to read and think about all of this in a minute, but first
> I just want to clarify something about the code structure.
>
> It looks like the code is organised as follows (either by design, or
> by inertia). Whenever someone triggers __add__, __mul__ etc, it first
> goes into one of the abstract base classes RingElement,
> CommutativeAlgebraElement, ModuleElement, etc. These functions first
> very quickly test for the most common cases (the cases that need to
> be really fast) and dispatch to those accordingly. Otherwise, it
> falls back on the coerce module. Now when something hits the coerce
> module, it doesn't matter any more whether it got called from
> RingElement.__add__, or ModuleElement.__add__, or whatever. As far as
> the coerce module is concerned, the request is just "work out how the
> hell to add these two things".

Yes, this is 100% correct.

William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to