AlgebraicJulia / AlgebraicJulia/Catlab.jl

Sketches via data migrations

未關閉
#844 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
acsets enhancement
主要語言
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 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。