Set expression
To implement scan in #4 with reductions at each target position, the loop domain must be generated programmatically. This issue is to track the progress of implementing the "set expression" feature to enable this.
Synthesis of the loop domain involves making an expression of set variables and set parameters, then compile it into an ISL set following three steps:
- collect set variables and set parameters
- produce the space with
islpy.make_zeros_and_vars
- evaluate the expression