diff options
| author | Enrico Tassi | 2019-02-19 14:55:01 +0100 |
|---|---|---|
| committer | Enrico Tassi | 2019-02-22 23:49:32 +0100 |
| commit | b13e6d67084f7e35595513ffa1045ba6bdccd482 (patch) | |
| tree | 08b4139a4bd18d695906c32b8dfe898ee0f6bbbd /dev | |
| parent | dea9f08178efcf9cfac7ee2970dc21abc2fde308 (diff) | |
[kernel] termination checking backtracks on stuck case
The strategy is to backtrack when a constant is in head
position: we first try to see if the arguments are guarded,
if not we unfold.
Since `Case` is represented as a head (rather than as a context
as the reduction machine does) we did not backtrack there
and reduce (including delta) the scrutinized in order to
fire the iota redex.
This commit adds a choice point in that specific case, and
reduces eagerly (not step by step) the scrutinized in case
of failure.
Diffstat (limited to 'dev')
0 files changed, 0 insertions, 0 deletions
