#10963: More functorial constructions
-------------------------------------+-------------------------------------
       Reporter:  nthiery            |        Owner:  stumpc5
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.1
      Component:  categories         |   Resolution:
       Keywords:  days54             |    Merged in:
        Authors:  Nicolas M. Thiéry  |    Reviewers:  Simon King, Frédéric
Report Upstream:  N/A                |  Chapoton
         Branch:                     |  Work issues:
  public/ticket/10963                |       Commit:
   Dependencies:  #11224, #8327,     |  478de48553d203516cddb47e0cb89c34ccc210ee
  #10193, #12895, #14516, #14722,    |     Stopgaps:
  #13589, #14471, #15069, #15094,    |
  #11688, #13394, #15150, #15506     |
-------------------------------------+-------------------------------------

Comment (by nthiery):

 Replying to [comment:320 SimonKing]:
 > So, now you want that `_base_category_class_and_axiom_origin` is
 > explicitly set to `'hardcoded'` whenever someone hardcodes
 > `_base_category_class_and_axiom`?

 Luckily, not! That would be very bad indeed: cluttering the code with
 redundant information. If you look right after the
 _base_category_class_and_axiom attribute, you will see that
 _base_category_class_and_axiom_origin is set to 'hardcoded' which does
 the trick.

 > Some meta-remark:
 >
 > It seems to me that you want to turn sage.categories into a database,
 but without using existing implementations of databases (aka "reinventing
 the wheel"). Relations between the items stored in that database are
 encoded in `_base_category_class_and_axiom` on the one hand, and by
 providing nested classes (e.g.,
 > {{{
 > PermutationGroups.Finite =
 LazyImport('sage.categories.finite_permutation_groups',
 'FinitePermutationGroups')
 > }}}
 > on the other hand. Here, `_base_category_class_and_axiom` is either
 hardcoded, guessed from the names (which requires to stick to certain
 naming conventions), or explicitly obtained if `__classget__` happens to
 be involved.
 >
 > Perhaps (in a second step, certainly not now) one should think of using
 dedicated database tools?

 Yes, from the beginning, Categories are definitely some sort of
 database of algorithms and math knowledge (in particular deduction
 rules defined programmatically). At first sight, it does not seem
 obvious that this could be implemented using standard database tools,
 but we can certainly think about it.

 Cheers,
                                 Nicolas

--
Ticket URL: <http://trac.sagemath.org/ticket/10963#comment:321>
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/groups/opt_out.

Reply via email to