What should this return when we cannot find a match for a given atom? Currently Hyperon returns empty [], and MettaLog gives [False]. On Hyperon's interpretation, if we could not find any matches, then we cannot do any comparisons, thus empty. MettaLog's interpretation (if this is intended and not a bug), then the result is false b/c in all possible non-deterministic paths, there does not exist a value that equals ok.
I think Empty result is a more predictable behavior for non-determinism.
Take the following code:
What should this return when we cannot find a match for a given atom? Currently Hyperon returns empty
[]
, and MettaLog gives[False]
. On Hyperon's interpretation, if we could not find any matches, then we cannot do any comparisons, thus empty. MettaLog's interpretation (if this is intended and not a bug), then the result is false b/c in all possible non-deterministic paths, there does not exist a value that equalsok
.I think Empty result is a more predictable behavior for non-determinism.