Closed kris-brown closed 6 months ago
Normally when we have attribute types we first declare an "AbsMytype" and then const a type with the Julia types instantiated.
const
SchLabeledSet = BasicSchema([:X], [], [:Label], [(:label,:X,:Label)]) @acset_type AbsLabeledSet(SchLabeledSet) const LabeledSet = AbsLabeledSet{Symbol}
However often we make the schema with a particular type in mind ("of course my labels will be symbols, not some arbitrary Julia type"). We don't ever think about AbsLabeledSet. A user-friendly syntax would be
AbsLabeledSet
SchLabeledSet = BasicSchema([:X], [], [:Label], [(:label,:X,:Label)]) @acset_type LabeledSet(SchLabeledSet){Symbol}
The @acset_type macro would need a small tweak to handle this case.
@acset_type
Normally when we have attribute types we first declare an "AbsMytype" and then
const
a type with the Julia types instantiated.However often we make the schema with a particular type in mind ("of course my labels will be symbols, not some arbitrary Julia type"). We don't ever think about
AbsLabeledSet
. A user-friendly syntax would beThe
@acset_type
macro would need a small tweak to handle this case.