diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-07-30 07:53:11 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-07-30 07:53:11 -0700 |
commit | 126c166e4e173db355e44e549b5c7f36b6edf741 (patch) | |
tree | 1866b0183da0345d36504ae09ed0598e6c127bfa /linenoise/linenoise.c | |
parent | 4dd724f26c6035ac6ec796a72377007c318a1d96 (diff) | |
download | txr-126c166e4e173db355e44e549b5c7f36b6edf741.tar.gz txr-126c166e4e173db355e44e549b5c7f36b6edf741.tar.bz2 txr-126c166e4e173db355e44e549b5c7f36b6edf741.zip |
tests: multiple evaluation issue in amb.
This issue doesn't affect the tests. This is for the benefit
of someone who happens to be copy-and-pasting the amb
implementation from here.
* tests/012/cont.tl (amb): This function has an issue in that
it calls the continuation (future calculation) and then if
that succeeds, it normally returns the value. This means that
the future is executed again. In the case of N amb
expressions, the successful future is executed 2**N times.
What amb must do is this: call the continuation and capture
the value. If the value is successful, then that is the master
return value; just return that from amb-scope, bypassing the
second re-execution of the future.
Diffstat (limited to 'linenoise/linenoise.c')
0 files changed, 0 insertions, 0 deletions