Unexpected result count
Consider the expression let x = True ? x in x
.
Evaluating this expression in the REPL yields a single result, namely True
, and then does not terminate.
However, if you take a look at the search tree, you get the following.
Prelude> :set choices
Prelude> let x = True ? x in x
[1 of 2] Skipping Prelude ( /net/medoc/home/kics2/amd64/kics2/lib/Prelude.curry, /net/medoc/home/kics2/amd64/kics2/lib/.curry/Prelude.tfcy )
[2 of 2] Compiling Curry_Main_Goal ( Curry_Main_Goal.curry, .curry/Curry_Main_Goal.tfcy )
Evaluating expression: let x = True ? x in x
?0
├── L: Val True
└── R: ?0
├── L: Val True
└── R: ?0
├── L: Val True
└── R: ?0
├── L: Val True
└── R: ?0
├── L: Val True
└── R: ?0
├── L: Val True
└── R: ?0
├── L: Val True
└── R: ?0
├── L: Val True
└── R: ?0
├── L: Val True
└── R: ?0
├── L: …
└── R: …
It seems as if both depth-first and breadth-first search should yield infinitely often the result True
(which is the expected result but clearly not the case). Note, that PAKCS shows the expected behaviour.