#18529: Topological manifolds: basics
-------------------------------------+-------------------------------------
       Reporter:  egourgoulhon       |        Owner:  egourgoulhon
           Type:  enhancement        |       Status:  needs_info
       Priority:  major              |    Milestone:  sage-6.10
      Component:  geometry           |   Resolution:
       Keywords:  topological        |    Merged in:
  manifolds                          |    Reviewers:  Travis Scrimshaw
        Authors:  Eric Gourgoulhon,  |  Work issues:
  Travis Scrimshaw                   |       Commit:
Report Upstream:  N/A                |  0fb39df7fafe7f0a765bf73b3f34a6cb41e65c40
         Branch:                     |     Stopgaps:
  u/tscrim/top_manifolds_refactor    |
   Dependencies:  #18175             |
-------------------------------------+-------------------------------------

Comment (by tscrim):

 Replying to [comment:70 egourgoulhon]:
 > Could you please describe further how you would use mix-in classes? and
 why this would be superior to the simple heritage `TopologicalManifold <--
 DifferentiableManifold` ?

 If we just had a simple inheritance, then we'd have this as our hierarchy:
 {{{
      Abstract
    /         \
 Subset      TopManifold
   |    ____/   |
   |   /        |
 TopSub      DiffManifold
   |    ____/
   |   /
 DiffSub
 }}}
 However, with a mixin, we would have this:
 {{{
      Abstract
    /         \
 Subset      TopManifold
   |    ____/        |
   |   /             |
 TopSub  DiffMixin   |
   |    /        \   |
 DiffSub          DiffManifold
 }}}
 In particular, notice that this does not introduce another diamond
 problem. It also makes it easier to add another class at the `Subset` and
 `TopManifold` level if we ever wanted to.

 Ideally, I would like to abstract away the `Subset` parts to a mixin to
 completely avoid any diamonds, but I couldn't really figure out a good way
 to make that work.

--
Ticket URL: <http://trac.sagemath.org/ticket/18529#comment:72>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" 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-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to