AlgebraicJulia / AlgebraicJulia/Catlab.jl
Sketches via data migrations
- 主要言語
- Julia
- スター
- 724
- フォーク
- 73
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
We should be able to upgrade `@present`, or maybe write a new `@present_schema` to let you write something like
```julia
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!
コントリビューションガイド
評価
この issue はまだ評価されていません。