diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-04-22 19:19:08 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-04-22 19:19:08 -0700 |
commit | cbb6c31b11992c715eb791067186cffc5d67b26a (patch) | |
tree | 38aadae6fda014524482f503bb958d4c2aab13ab /ChangeLog | |
parent | cfcad668007de34c8c06f030aaba74e0336de75b (diff) | |
download | txr-cbb6c31b11992c715eb791067186cffc5d67b26a.tar.gz txr-cbb6c31b11992c715eb791067186cffc5d67b26a.tar.bz2 txr-cbb6c31b11992c715eb791067186cffc5d67b26a.zip |
delay/force overhaul.
* eval.c (promise_forced_s, promise_inprogress_s): New symbol
variables.
(me_delay): Change representation of promises so that the
original delay form is stashed there for better reporting
in the force function. Also, propagate the debug info
from the second argument of the form to the entire form;
otherwise it will inherit it from elsewhere.
(force): Rewritten to follow new three-state representation
to detect the recursive case and diagnose it.
(eval_init): Register new symbol variables.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -1,3 +1,18 @@ +2015-04-22 Kaz Kylheku <kaz@kylheku.com> + + delay/force overhaul. + + * eval.c (promise_forced_s, promise_inprogress_s): New symbol + variables. + (me_delay): Change representation of promises so that the + original delay form is stashed there for better reporting + in the force function. Also, propagate the debug info + from the second argument of the form to the entire form; + otherwise it will inherit it from elsewhere. + (force): Rewritten to follow new three-state representation + to detect the recursive case and diagnose it. + (eval_init): Register new symbol variables. + 2015-04-21 Kaz Kylheku <kaz@kylheku.com> Version 106 |