AlgebraicJulia / AlgebraicDynamics.jl

Building dynamical systems compositionally
https://algebraicjulia.github.io/AlgebraicDynamics.jl/
MIT License
66 stars 13 forks source link

Roadmap / Scope of AlgebraicDynamics #137

Open jpfairbanks opened 5 months ago

jpfairbanks commented 5 months ago

I want to start a discussion about the AlgebraicDynamics roadmap, future, and scope. I have a few times came up with new ways of constructing dynamical systems in an algebraic manner and started a PR on this package.

These constructions might not be functorial with respect to resource sharing or machine composition, but they are still ways of constructing vector fields from algebraic structures (often ACSets of some schema).

Does it make sense for each of these to get their own package that depends on AlgebraicDynamics? Or should they be modules in this package as different ways of creating dynamical systems?

This is an example of the general problem using a monorepo versus many small repos. If the repos are too big, then there is a maintenance problem where tests take longer and people can be blocked on failures in other parts of the codebase. But if the repos are too small, then we don't have critical mass on each project.

I'm leaning towards creating modules for each type of dynamics in AlgDynam and getting these PRs merged, rather than splitting them up further, but I just want to see what other developers on here think.