Open olynch opened 1 year ago
I think that we are going to have a ton of different structs if we are using the concrete option. The benefit is going to be avoiding the error message problem we have with ACSets. This would be a good issue to surface with Jeff.
Just like ACSets, making a context struct has two steps. The first step is declaring the context (analogous to declaring the schema). We might also have an analogous naming convention to schema declaration, such as
CtxArena
.The second step is to declare a struct that is based on that context. There are two options here. The first is to declare a model-specific struct, in which case we pass in a model as part of the struct declaration process, get the types associated with type constructors from that, and then only use the type parameters of the model as type parameters for the struct.
This might look something like:
The second is to declare a model-generic struct, which has type parameters for each type constructor and then additionally a type parameter for the model.
We should also have an
AnonContext
struct, which wraps aNamedTuple
, and then also aDynamicContext
struct which wraps aVector{Any}
.