AlgebraicJulia / Catlab.jl

A framework for applied category theory in the Julia language
https://www.algebraicjulia.org
MIT License
614 stars 58 forks source link

Delta migration of acset transformations #710

Closed kris-brown closed 1 year ago

kris-brown commented 2 years ago

Functorial data migration should work on morphisms of ACSets too. It seems simple to work this out for delta - I'm not sure how other migrations might look. In the case of delta, it is straightforward to apply the functor to the domain and codomain and then copy the components (or type components) based on the data of the functor.

One interesting thing I noticed is that it's not possible to apply a DeltaMigration to a LooseACSetTransformation f: WeightedGraph{Int} -> WeightedGraph{Symbol}, for example. This is because the data of a DeltaTransformation requires you to specify the concrete ACSet types, which means you can't apply the same DeltaMigration to both the domain and codomain of f.

KevinDCarlson commented 1 year ago

I think this is ready to merge @epatters

epatters commented 1 year ago

This PR needs to be rebased now that #846 has been merged.