AlgebraicJulia / AlgebraicRelations.jl

Relational Algebra, now with more algebra!
https://www.algebraicjulia.org
MIT License
48 stars 3 forks source link

Adds StructACsets support #29

Closed bosonbaas closed 2 years ago

bosonbaas commented 2 years ago

This PR provides compatibility with the struct ACSets provided in Catlab by replacing certain functions with macros. The conversions are as follows:

SchemaType => @db_schema
present_to_schema => @present_to_schema

Tests should pass once https://github.com/AlgebraicJulia/AlgebraicPetri.jl/pull/69 is merged and AlgebraicPetri (a visualization dependency) is updated.

jpfairbanks commented 2 years ago

Is the functor.jl file being deleted because it got upstreamed to Catlab?

epatters commented 2 years ago

I can't speak to everything in that file, but at least the Functor interface is subsumed by stuff now in Catlab.

bosonbaas commented 2 years ago

Yeah, the work I had done in the functor.jl file is generalized by tooling now in Catlab. I don't think any upstreaming was done, just more general tooling added to Catlab.

AlgebraicRelations.jl didn't really take advantage of the potential generality of the tooling in functor.jl, and now I think it'll be easier to implement through the Functor tooling in Catlab. So for now I'm just reproducing the functionality we were taking advantage of, and that doesn't require the functor.jl file.

bosonbaas commented 2 years ago

There's not much that functionally changed here, and I think the tests cover our base-case. @jpfairbanks @epatters any concerns about me merging this and doing a version increment? This will just allow us to move the blog to Catlab 0.13