Make constructors explicit in core and ff.
b-studios opened this issue · comments
Constructor calls are currently represented by PureApp
nodes in the core
tree and following representations.
This would be a bit more symmetrical to how the introduction and elimination of codata/objects (new
) is treated.
Note that optimizations (case-of-known-case etc.) are currently possible without making constructors explicit, since we can just compare the symbols.
This works, since free variables in core
(such as data types and constructors) are not renamed (which is the case for bound local variables) and the PureApp
and the Match
thus still point to the constructor symbol.