diff options
| author | Kathy Gray | 2014-08-18 18:43:14 +0100 |
|---|---|---|
| committer | Kathy Gray | 2014-08-18 18:43:14 +0100 |
| commit | 3c86cf03071bef70c1909b13dcb1db28f8cd5c33 (patch) | |
| tree | 01d6230242279088bde252c6323e80193a1029c6 /src/lem_interp/interp.lem | |
| parent | 9f2ec1fcb16191ad9c54f68152f03ca80f85522e (diff) | |
Handling many register reads, writes, and memory reads.
There are problems that warrant discussion about handling special registers that hold records or data structures previously.
Diffstat (limited to 'src/lem_interp/interp.lem')
| -rw-r--r-- | src/lem_interp/interp.lem | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lem_interp/interp.lem b/src/lem_interp/interp.lem index bbcec75b..0bba3b7e 100644 --- a/src/lem_interp/interp.lem +++ b/src/lem_interp/interp.lem @@ -2214,6 +2214,13 @@ let rec resume mode stack value = | Action action stack -> Action action (Hole_frame id exp t_level env mem stack) | Error l s -> Error l s end + | (Hole_frame id exp t_level env mem stack, Nothing) -> + match resume mode stack Nothing with + | Value v -> + match interp_main mode t_level (add_to_env (id,v) env) mem exp with | (o,_,_) -> o end + | Action action stack -> Action action (Hole_frame id exp t_level env mem stack) + | Error l s -> Error l s + end | (Thunk_frame exp t_level env mem Top,_) -> match interp_main mode t_level env mem exp with | (o,_,_) -> o end | (Thunk_frame exp t_level env mem stack,value) -> |
