Estimated hours taken: 12
failure.html:
A new file that describes a new way of handling failure.
The advantages of the proposed new approach are:
- it is significantly simpler than the existing approach, which
makes it easier to get it correct
- it will create temporary nondet frames significantly less frequently
- commits inside nondet code do not need to use the det stack, which
makes gc easier, and results in faster commits
- it should make it easier to eventually delay the setting of
redoip slots in disjuncts, instead of setting them on entry to
each nonlast disjunct the way we do now
The disadvantage is that nondet stack frames have an extra fixed slot,
which has to be filled in and referenced.