Towards a more lazy semantics
Several optimisations do perform redices that in a strict evaluation would never be executed.
A simple example is: K (2, 3/0)
. Under a strict evaluation scheme it should not terminate / yield bottom; if we optimise this into 2
, this changes the semantics even though, under a normal order regime, this is fine.
Quite some discussion on this matter was done in the context of the merge request for URR:
The question remains: how do we want to deal with this?