Skip to content

Generalize base class construction for functorial construction categories #18174

@tscrim

Description

@tscrim

This ticket implements the following syntactic sugar for functorial
construction categories::

    GradedModules(K)  ->  Modules(K).Graded()
    Modules.Graded(K) ->  Modules(K).Graded()

This makes them behave consistently with CategoryWithAxiom.

As is noted in the code, the internal logic is very similar, but there
seemed at this point to be no good way to avoid the duplication.

The first syntactic sugar was actually already partially implemented
for GradedModulesCategory, so half of the work is just generalizing
existing code.

The syntactic sugar is not valid for construction categories that take
extra arguments like Algebras, since there is no generic way to
decide what the argument should be used for:

    Sets.Algebras(K)  ->   Sets(K).Algebras() or Sets().Algebras(K) ?

CC: @nthiery

Component: categories

Keywords: sd67

Author: Travis Scrimshaw

Branch: c35a270

Reviewer: Nicolas M. Thiéry

Issue created by migration from https://trac.sagemath.org/ticket/18174

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions