* moved call-with-values and values to their own library
* moved exit to ikarus.control
This commit is contained in:
parent
897f6f3596
commit
8324dfadb4
BIN
src/ikarus.boot
BIN
src/ikarus.boot
Binary file not shown.
|
@ -1,10 +1,11 @@
|
||||||
|
|
||||||
|
|
||||||
(library (ikarus control)
|
(library (ikarus control)
|
||||||
(export call/cf call/cc dynamic-wind)
|
(export call/cf call/cc dynamic-wind exit)
|
||||||
(import
|
(import
|
||||||
(only (scheme) $fp-at-base $current-frame $frame->continuation
|
(only (scheme) $fp-at-base $current-frame $frame->continuation
|
||||||
$seal-frame-and-call)
|
$seal-frame-and-call)
|
||||||
(except (ikarus) call/cf call/cc dynamic-wind))
|
(except (ikarus) call/cf call/cc dynamic-wind exit))
|
||||||
|
|
||||||
(define primitive-call/cf
|
(define primitive-call/cf
|
||||||
(lambda (f)
|
(lambda (f)
|
||||||
|
@ -97,4 +98,10 @@
|
||||||
[(v1 v2 . v*)
|
[(v1 v2 . v*)
|
||||||
(set! winders (cdr winders))
|
(set! winders (cdr winders))
|
||||||
(out)
|
(out)
|
||||||
(apply values v1 v2 v*)])))))
|
(apply values v1 v2 v*)]))))
|
||||||
|
|
||||||
|
(define exit
|
||||||
|
(case-lambda
|
||||||
|
[() (exit 0)]
|
||||||
|
[(status) (foreign-call "exit" status)]))
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
|
||||||
|
(library (ikarus multiple-values)
|
||||||
|
(export call-with-values values)
|
||||||
|
(import (except (scheme) call-with-values values))
|
||||||
|
|
||||||
|
(define call-with-values
|
||||||
|
($make-call-with-values-procedure))
|
||||||
|
(define values
|
||||||
|
($make-values-procedure)))
|
|
@ -22,13 +22,15 @@
|
||||||
;;; Error: Error: Error: Error: Error: Error: Error: ...).
|
;;; Error: Error: Error: Error: Error: Error: Error: ...).
|
||||||
;;;
|
;;;
|
||||||
'("ikarus.handlers.ss"
|
'("ikarus.handlers.ss"
|
||||||
|
"ikarus.multiple-values.ss"
|
||||||
"ikarus.control.ss"
|
"ikarus.control.ss"
|
||||||
"ikarus.collect.ss"
|
"ikarus.collect.ss"
|
||||||
"ikarus.records.ss"
|
"ikarus.records.ss"
|
||||||
"ikarus.cxr.ss"
|
"ikarus.cxr.ss"
|
||||||
"ikarus.numerics.ss"
|
"ikarus.numerics.ss"
|
||||||
"ikarus.guardians.ss"
|
"ikarus.guardians.ss"
|
||||||
"libcore.ss"
|
|
||||||
|
"ikarus.core.ss"
|
||||||
"libchezio.ss"
|
"libchezio.ss"
|
||||||
"libhash.ss"
|
"libhash.ss"
|
||||||
"libwriter.ss"
|
"libwriter.ss"
|
||||||
|
|
Loading…
Reference in New Issue