From: Tim Vaughan <tgvaughan@gmail.com>
Date: Thu, 12 Oct 2017 18:46:31 +0000 (+0200)
Subject: Tiny edits to continuation code.
X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=commitdiff_plain;h=1611b5484902b38774e0e61b84a14868dcc30152;p=scheme.forth.jl.git

Tiny edits to continuation code.
---

diff --git a/src/scheme.4th b/src/scheme.4th
index 9ad4fb3..e94796c 100644
--- a/src/scheme.4th
+++ b/src/scheme.4th
@@ -560,6 +560,21 @@ global-env obj!
   cons drop continuation-type
 ;
 
+: continuation->pstack-list
+  drop pair-type car ;
+
+: continuation->rstack-list
+  drop pair-type cdr ;
+
+: restore-param-stack ( continuation -- obj_stack continuation )
+
+  2dup >R >R
+  continuation->pstack-list
+
+  ( Idea: allocate stack space first using psp!,
+    then copy objects from list. )
+;
+
 : restore-continuation
   \ TODO: replace current parameter and return stacks with
   \ contents of continuation object.