Sketches via data migrations
KevinDCarlson opened this issue · 0 comments
KevinDCarlson commented
We should be able to upgrade @present
, or maybe write a new @present_schema
to let you write something like
Par = @present_schema begin
X,Y::Ob
f,g::X -> Y
XY = @product X Y
E = @join x::X; y::Y; ff:(x->y)::f; gg:(x->y)::g
end
which will actually generate two schemas, Par
and, say, Par_full
, where Par
only has X,Y,f,g
while Par_full
also has XY
and E
together with the components of their limit cones, as well constructing a DataMigration
from Par
to Par_full
that's the identity on Par
and literally sends XY
to @product X Y
and so on. Then when the user instantiates Par
, Catlab does the instantiation and the migration to Par_full
, and voila, you've got sketch-schemas!