X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;f=src%2Fscheme-primitives.4th;h=f6bb92d399d9bddc5e4baf9b8584224bd8adf8f2;hb=41b469d050586a05cd43fdd4c78755616af3f7b4;hp=183efec11895d274e57b5d6ce5cfc39fbc1f7634;hpb=6cb6a8d3e4449a1cf70ac4cbb0b88cf2c38d6434;p=scheme.forth.jl.git diff --git a/src/scheme-primitives.4th b/src/scheme-primitives.4th index 183efec..f6bb92d 100644 --- 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:> +: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 @@ -592,13 +599,19 @@ defer display \ ==== Evaluation ==== {{{ -\ :noname ( args -- result ) -\ 2dup car 2swap cdr -\ -\ nil? false = if car then ( proc argvals ) -\ -\ apply -\ ; make-primitive apply +:noname ( args -- result ) + 2dup car 2swap cdr + + nil? false = if car then ( proc argvals ) + + 2swap apply +; make-primitive apply + +:noname ( args -- result ) + make-continuation nil cons + 2swap apply + +; 1 make-fa-primitive call-with-current-continuation \ }}}