Implement a generic `size` expression in Indigo
Clarification and motivation
Much like for update
(see #173 (closed)), but with less inconsistencies, there are:
- multiple
Expr
constructor that all get compiled to Lorentzsize
instruction - multiple
*size
expressions/operators that calculate sizes for different structures
Here too it would be nice to simplify this approach and maintain Lorentz's polymorphism.
Acceptance criteria
Instead of the several Expr
constructors and *size
functions/expressions, there should be:
- a single
Expr
constructor that compiles to Lorentz'ssize
instruction - a single
size
functions that uses this constructor
Note that here to the Map
implementation (msize
/MapSize
) seems to be based on the generic SizeOpHs
and here it may actually be enough to rename it and remove the rest.
Edited by Pinto Pasquale