Skip to content

Find/Make a Category Theory Library #167

@Lysxia

Description

@Lysxia

Everything in the library under Basics really belongs in its own library. A huge chunk of that is a whole category theory library.

The next step is to review existing implementations to see whether any one is compatible with what we are doing. Luckily, a recent discussion on the Coq Discourse forum gives a list of them: https://coq.discourse.group/t/survey-of-category-theory-in-coq/371

A related question I have is whether the Monad class from ext-lib can be replaced with a more general class formalizing monads in arbitrary categories (ext-lib's Monad is specialized to the category of functions). Two big sticking points that make such unification difficult are (1) going back and forth between "monadic" and "categorical" notation (for both reasoning and programming), (2) extraction to OCaml, a call-by-value and impure language, where eta-reduction and other pointfree shenanigans significantly impact semantics and performance. (We could also give up (2) and extract to Haskell but then interoperability with QuickChick (which we haven't worked out yet) becomes more difficult...)

Metadata

Metadata

Assignees

No one assigned

    Labels

    coq-devQuestions related to best practices for Coq programminghelp wantedExtra attention is neededquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions