* libposix librarified
This commit is contained in:
parent
0144cf7bb1
commit
d8619ac96e
BIN
src/ikarus.boot
BIN
src/ikarus.boot
Binary file not shown.
|
@ -1,11 +1,17 @@
|
|||
|
||||
(primitive-set! 'posix-fork
|
||||
(library (ikarus posix)
|
||||
(export)
|
||||
(import (scheme))
|
||||
|
||||
(define ikarus-posix-fork
|
||||
(lambda ()
|
||||
(foreign-call "ikrt_fork")))
|
||||
|
||||
(primitive-set! 'posix-fork ikarus-posix-fork)
|
||||
|
||||
(primitive-set! 'fork
|
||||
(lambda (parent-proc child-proc)
|
||||
(let ([pid (posix-fork)])
|
||||
(let ([pid (ikarus-posix-fork)])
|
||||
(cond
|
||||
[(fx= pid 0) (child-proc)]
|
||||
[(fx= pid -1)
|
||||
|
@ -103,3 +109,4 @@
|
|||
(substring s (fxadd1 i) n)
|
||||
"")))))
|
||||
(foreign-call "ikrt_environ"))))
|
||||
)
|
||||
|
|
|
@ -520,13 +520,23 @@
|
|||
[if if-label (core-macro . if)]
|
||||
[when when-label (core-macro . when)]
|
||||
[unless unless-label (core-macro . unless)]
|
||||
|
||||
[void void-label (core-prim . void)]
|
||||
|
||||
[cons cons-label (core-prim . cons)]
|
||||
[values values-label (core-prim . values)]
|
||||
[car car-label (core-prim . car)]
|
||||
[cdr cdr-label (core-prim . cdr)]
|
||||
|
||||
[null? null?-label (core-prim . null?)]
|
||||
[error error-label (core-prim . error)]
|
||||
[exit exit-label (core-prim . exit)]
|
||||
[boolean? boolean-label (core-prim . boolean?)]
|
||||
[char=? char=?-label (core-prim . char=?)]
|
||||
|
||||
[string? string?-label (core-prim . string?)]
|
||||
[string-ref string-ref-label (core-prim . string-ref)]
|
||||
[string-length string-length-label (core-prim . string-length)]
|
||||
[string=? string=?-label (core-prim . string=?)]
|
||||
[substring substring-label (core-prim . substring)]
|
||||
|
||||
[new-cafe new-cafe-label (core-prim . new-cafe)]
|
||||
[load load-label (core-prim . load)]
|
||||
[for-each for-each-label (core-prim . for-each)]
|
||||
|
@ -539,8 +549,10 @@
|
|||
[list list-label (core-prim . list)]
|
||||
[append append-label (core-prim . append)]
|
||||
[apply apply-label (core-prim . apply)]
|
||||
[values values-label (core-prim . values)]
|
||||
[call-with-values cwv-label (core-prim . call-with-values)]
|
||||
[procedure? procedure?-label (core-prim . procedure?)]
|
||||
[fixnum? fixnum-label (core-prim . fixnum?)]
|
||||
[fx< fx<-label (core-prim . fx<)]
|
||||
[fx<= fx<=-label (core-prim . fx<=)]
|
||||
[fx> fx>-label (core-prim . fx>)]
|
||||
|
@ -548,6 +560,8 @@
|
|||
[fx= fx=-label (core-prim . fx=)]
|
||||
[fx- fx--label (core-prim . fx-)]
|
||||
[fx+ fx+-label (core-prim . fx+)]
|
||||
[fxadd1 fxadd1-label (core-prim . fxadd1)]
|
||||
[fxsub1 fxsub1-label (core-prim . fxsub1)]
|
||||
[- minus-label (core-prim . -)]
|
||||
[* *-label (core-prim . *)]
|
||||
[+ plus-label (core-prim . +)]
|
||||
|
@ -557,16 +571,19 @@
|
|||
[list->vector list->vector-label (core-prim . list->vector)]
|
||||
[symbol->string symbol->string-label (core-prim . symbol->string)]
|
||||
[current-eval current-eval-label (core-prim . current-eval)]
|
||||
[error error-label (core-prim . error)]
|
||||
[exit exit-label (core-prim . exit)]
|
||||
[primitive-ref primitive-ref-label (core-prim . primitive-ref)]
|
||||
[$set-symbol-value! $set-symbol-value!-label (core-prim . $set-symbol-value!)]
|
||||
[compile compile-label (core-prim . compile)]
|
||||
[printf printf-label (core-prim . printf)]
|
||||
[string=? string=?-label (core-prim . string=?)]
|
||||
[$record-set! $record-set!-label (core-prim . $record-set!)]
|
||||
[$record-ref $record-ref-label (core-prim . $record-ref)]
|
||||
[$record $record-label (core-prim . $record)]
|
||||
[$record? $record?-label (core-prim . $record?)]
|
||||
[$record/rtd? $record/rtd?-label (core-prim . $record/rtd?)]
|
||||
|
||||
|
||||
[primitive-set! primitive-set!-label (core-prim . primitive-set!)]
|
||||
[command-line-arguments command-line-arguments-label (core-prim . command-line-arguments)]
|
||||
))
|
||||
|
|
Loading…
Reference in New Issue