Added full support for heterogeneous edge sets and named tuple types, the latter of which is needed for map assemblies over heterogeneous edge sets. This set of changes also adds support for the following syntactic sugar for declaring homogeneous edge sets:
extern V : set{Vertex};
extern E : set{Edge}(V*2);
Additionally, the compiler now supports calls from within Simit programs to functions that accept non-dense tensor arguments and functions that reference sets by inlining all such calls.
Added full support for heterogeneous edge sets and named tuple types, the latter of which is needed for map assemblies over heterogeneous edge sets. This set of changes also adds support for the following syntactic sugar for declaring homogeneous edge sets:
Additionally, the compiler now supports calls from within Simit programs to functions that accept non-dense tensor arguments and functions that reference sets by inlining all such calls.