Skip to content

project ideas

Ryan Wisnesky edited this page Jun 20, 2019 · 2 revisions
  • Work through David Spivak's Book using CQL.

  • Develop CQL schemas and typesides for domain specific languages. The goal of this project is to formalize particular domain specific languages as operads.

  • Integrate EASIK and CQL. Although the EASIK and CQL tools are based on similar categorical foundations, they do not integrate as closely as they could. The goal of this project is to allow the tools to interoperate better.

  • Integrate CQL and a file system. A file system file and directory forms an acyclic graph, and aliases can be represented as path equations. The files themselves are given by a set-valued functor. The goal of this project is to express a file system as FQL schemas and instances. More speculatively, this could be the first step in a categorical database management system.

  • Develop a Theory of Functorial Data Isomorphism. Describe isomorphisms such as Sigma(F o G)(I) = (Sigma(F) o Sigma(G))(I), and develop a method of inserting them automatically into CQL programs, so that users can program up to isomorphism.

  • Interpret Learn Reject. It may be possible for two people with no common ground to nevertheless develop a shared understanding of a domain by repeatedly following a loop that develops a span between schemas.

  • Generalize to categories other than set. Develop a theory of functorial program migration/integration by generalizing results from the CQL project on functorial data migration/integration from the topos of Sets to the effective topos or domain-like things.