Continuations objs are pairlike for GC marking.
[scheme.forth.jl.git] / src / scheme-primitives.4th
index f38fd93..c3eeb5d 100644 (file)
     drop swap drop f> boolean-type
 ; 2 make-fa-primitive flo:>
 
+:noname ( flonum flonum -- bool )
+    drop swap drop f<= boolean-type
+; 2 make-fa-primitive flo:<=
+
+:noname ( flonum flonum -- bool )
+    drop swap drop f>= boolean-type
+; 2 make-fa-primitive flo:>=
 
 :noname ( flonum -- bool )
     drop 0.0 = boolean-type
@@ -594,12 +601,24 @@ defer display
 
 :noname ( args -- result )
     2dup car 2swap cdr
-
     nil? false = if car then ( proc argvals )
-    
-    apply
+     
+    2swap apply
 ; make-primitive apply 
 
+:noname ( proc -- result )
+    make-continuation
+
+    drop if
+        nil cons
+        2swap apply
+    else
+        2swap 2drop
+    then
+
+; 1 make-fa-primitive call-with-current-continuation
+
 \ }}}
 
 \ ==== Miscellaneous  ==== {{{