The Lambda Lab
/
projects
/
scheme.forth.jl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Factored library, implemented make-continuation.
[scheme.forth.jl.git]
/
src
/
scheme-primitives.4th
diff --git
a/src/scheme-primitives.4th
b/src/scheme-primitives.4th
index
1e37e0d
..
f6bb92d
100644
(file)
--- a/
src/scheme-primitives.4th
+++ b/
src/scheme-primitives.4th
@@
-280,6
+280,13
@@
drop swap drop f> boolean-type
; 2 make-fa-primitive flo:>
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
:noname ( flonum -- bool )
drop 0.0 = boolean-type
@@
-594,12
+601,18
@@
defer display
:noname ( args -- result )
2dup car 2swap cdr
:noname ( args -- result )
2dup car 2swap cdr
-
+
nil? false = if car then ( proc argvals )
nil? false = if car then ( proc argvals )
-
- apply
+
+
2swap
apply
; make-primitive apply
; make-primitive apply
+:noname ( args -- result )
+ make-continuation nil cons
+ 2swap apply
+
+; 1 make-fa-primitive call-with-current-continuation
+
\ }}}
\ ==== Miscellaneous ==== {{{
\ }}}
\ ==== Miscellaneous ==== {{{
@@
-611,12
+624,15
@@
defer display
nil? if
." Error."
else
nil? if
." Error."
else
- ." Error: "
-
- begin
- 2dup car print
- cdr nil?
- until
+ ." Error:"
+
+ 2dup car space display
+ cdr nil? invert if
+ begin
+ 2dup car space print
+ cdr nil?
+ until
+ then
2drop
then
2drop
then