#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.