Hi Volker, On 2014-03-09, Volker Braun <vbraun.n...@gmail.com> wrote: > "Explicit from the context" is an oxymoron. If you can only be figure it=20 > out from the context, then it is by definition implicit. Only something=20 > that is written down in Python code is explicit in Python.
But what other syntax do you suggest? Doing class Cs(Category): def super_categories(self): return [Sets()] *explicitly* states that Cs is a sub-category of the category of sets. Additionally doing class Cs(Category): class Finite(CategoryWithAxiom): class ParentClass: def some_method(self): return "I am a finite c" is also (I think) *sufficiently* explicit about Cs.Finite() being a sub-category of Cs(), defined by the axiom Finite. So, Cs.Finite() is a sub-category of Sets(). Do you think that an additional explicit statement is needed to tell that Cs.Finite() additionally is a sub-category of Sets.Finite()? I believe that the rule implemented in #10963 "Cs().SomeAxiom() is a sub-category of SCs().SomeAxiom() for all super-categories SCs() of Cs() to which SomeAxiom can be applied" is clear enough. What I am really not happy about is that in some cases (or in all? If not in all, then in what cases?) Cs.Finite is overridden in Cs() by a cached method. Nicolas hasn't answered yet if documentation respectively semantic specification of the "Finite" axiom is the only reason for this highly intransparent trick. If it is, then I think it would be better to turn axioms into objects (currently they are just names) carrying their own documentation and specification. Best regards, 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 sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.