diff --git a/src/ikarus.boot b/src/ikarus.boot index a39adde..5f89535 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.io.output-files.ss b/src/ikarus.io.output-files.ss index 7c2293d..4ebad95 100644 --- a/src/ikarus.io.output-files.ss +++ b/src/ikarus.io.output-files.ss @@ -4,9 +4,10 @@ console-output-port current-output-port open-output-file with-output-to-file call-with-output-file) (import - (only (scheme) $set-port-output-size! $write-char $string-set! - $port-output-buffer $set-port-output-index! $fxadd1 $fx< - $port-output-size $port-output-index) + (ikarus system $ports) + (ikarus system $io) + (ikarus system $strings) + (ikarus system $fx) (except (ikarus) standard-output-port standard-error-port console-output-port current-output-port diff --git a/src/ikarus.multiple-values.ss b/src/ikarus.multiple-values.ss index bb78478..a361863 100644 --- a/src/ikarus.multiple-values.ss +++ b/src/ikarus.multiple-values.ss @@ -1,7 +1,9 @@ (library (ikarus multiple-values) (export call-with-values values) - (import (except (scheme) call-with-values values)) + (import + (ikarus system $stack) + (except (ikarus) call-with-values values)) (define call-with-values ($make-call-with-values-procedure)) diff --git a/src/ikarus.numerics.ss b/src/ikarus.numerics.ss index f99a001..3845ebb 100644 --- a/src/ikarus.numerics.ss +++ b/src/ikarus.numerics.ss @@ -25,10 +25,9 @@ (export + - * = < <= > >= add1 sub1 quotient remainder quotient+remainder number->string string->number) (import - (only (scheme) $fxlogand $fx= $fx< $fx<= $fx> $fx>= $fxzero? - $fxsll $fxsra $fxmodulo $string-ref $string-length - $fxadd1 $fx- - $char->fixnum $char= $char<=) + (ikarus system $fx) + (ikarus system $chars) + (ikarus system $strings) (except (ikarus) + - * = < <= > >= add1 sub1 quotient remainder quotient+remainder number->string string->number)) diff --git a/src/ikarus.pairs.ss b/src/ikarus.pairs.ss index dcd0829..38619b6 100644 --- a/src/ikarus.pairs.ss +++ b/src/ikarus.pairs.ss @@ -1,16 +1,19 @@ (library (ikarus pairs) - (export - cons weak-cons set-car! set-cdr! - car cdr caar cdar cadr cddr caaar cdaar cadar cddar caadr cdadr - caddr cdddr caaaar cdaaar cadaar cddaar caadar cdadar caddar - cdddar caaadr cdaadr cadadr cddadr caaddr cdaddr cadddr cddddr) + (export + cons weak-cons set-car! set-cdr! car cdr caar cdar cadr cddr + caaar cdaar cadar cddar caadr cdadr caddr cdddr caaaar cdaaar + cadaar cddaar caadar cdadar caddar cdddar caaadr cdaadr cadadr + cddadr caaddr cdaddr cadddr cddddr) (import - (only (ikarus) define if lambda pair? error quote let unless - foreign-call) - (rename (only (scheme) cons $car $cdr $set-car! $set-cdr!) - (cons sys:cons))) + (except (ikarus) cons weak-cons set-car! set-cdr! car cdr caar + cdar cadr cddr caaar cdaar cadar cddar caadr cdadr caddr + cdddr caaaar cdaaar cadaar cddaar caadar cdadar caddar + cdddar caaadr cdaadr cadadr cddadr caaddr cdaddr cadddr + cddddr) + (rename (only (ikarus) cons) (cons sys:cons)) + (ikarus system $pairs)) (define cons (lambda (x y) (sys:cons x y))) diff --git a/src/ikarus.predicates.ss b/src/ikarus.predicates.ss index 0a73800..25c367b 100644 --- a/src/ikarus.predicates.ss +++ b/src/ikarus.predicates.ss @@ -2,20 +2,22 @@ (library (ikarus predicates) (export fixnum? flonum? bignum? number? complex? real? rational? - integer? exact? eof-object? bwp-object? immediate? boolean? - char? vector? string? procedure? null? pair? symbol? not - weak-pair? - eq? eqv? equal?) + integer? exact? eof-object? bwp-object? immediate? + boolean? char? vector? string? procedure? null? pair? + symbol? not weak-pair? eq? eqv? equal?) (import (except (ikarus) fixnum? flonum? bignum? number? complex? real? - rational? integer? exact? eof-object? bwp-object? immediate? - boolean? char? vector? string? procedure? null? - pair? weak-pair? symbol? not eq? eqv? equal? + rational? integer? exact? eof-object? bwp-object? + immediate? boolean? char? vector? string? procedure? + null? pair? weak-pair? symbol? not eq? eqv? equal? port? input-port? output-port?) - (only (scheme) $fxadd1 $vector-ref $fx= $char= $string-ref - $string-length $vector-length $car $cdr) + (ikarus system $fx) + (ikarus system $pairs) + (ikarus system $chars) + (ikarus system $strings) + (ikarus system $vectors) (rename (only (ikarus) fixnum? flonum? bignum? eof-object? bwp-object? immediate? boolean? char? vector? string? procedure? null? pair? symbol? eq? diff --git a/src/ikarus.reader.ss b/src/ikarus.reader.ss index c15985c..d632954 100644 --- a/src/ikarus.reader.ss +++ b/src/ikarus.reader.ss @@ -2,7 +2,7 @@ (library (ikarus reader) (export read read-token comment-handler load) (import - (only (scheme) $char->fixnum $char= $char<=) + (ikarus system $chars) (except (ikarus) read read-token comment-handler load)) (define delimiter? diff --git a/src/ikarus.records.ss b/src/ikarus.records.ss index 32b4f2a..1cb7fda 100644 --- a/src/ikarus.records.ss +++ b/src/ikarus.records.ss @@ -17,9 +17,7 @@ record-type-field-names record-constructor record-predicate record-field-accessor record-field-mutator record? record-rtd record-type-descriptor record-name record-printer record-length - record-ref record-set!) - (only (scheme) - set-top-level-value! top-level-value top-level-bound?)) + record-ref record-set!)) @@ -102,7 +100,7 @@ (for-each verify-field fields) (let ([g (gensym name)]) (let ([rtd (make-rtd name fields #f g)]) - (set-top-level-value! g rtd) + (set-symbol-value! g rtd) rtd))] [(name fields g) (unless (string? name) @@ -111,15 +109,15 @@ (error 'make-record-type "fields must be a list, got ~s" fields)) (for-each verify-field fields) (cond - [(top-level-bound? g) - (let ([rtd (top-level-value g)]) + [(symbol-bound? g) + (let ([rtd (symbol-value g)]) (unless (and (string=? name (record-type-name rtd)) (equal? fields (record-type-field-names rtd))) (error 'make-record-type "definition mismatch")) rtd)] [else (let ([rtd (make-rtd name fields #f g)]) - (set-top-level-value! g rtd) + (set-symbol-value! g rtd) rtd)])])) (define record-type-name diff --git a/src/ikarus.strings.ss b/src/ikarus.strings.ss index e76dca8..d8d4a06 100644 --- a/src/ikarus.strings.ss +++ b/src/ikarus.strings.ss @@ -9,12 +9,7 @@ (ikarus system $pairs) (except (ikarus) string-length string-ref string-set! make-string string->list string=? string-append substring string - list->string uuid) - #;(only (scheme) - $fx+ $fxsub1 $fxadd1 $char= $car $cdr - $fxzero? $fx= $fx<= $fx< $fx>= $fx- - $string-length $string-ref - $make-string $string-set!)) + list->string uuid)) (define string-length diff --git a/src/ikarus.symbols.ss b/src/ikarus.symbols.ss index fa08d53..ad8b662 100644 --- a/src/ikarus.symbols.ss +++ b/src/ikarus.symbols.ss @@ -6,11 +6,9 @@ top-level-value top-level-bound? set-top-level-value! symbol-value symbol-bound? set-symbol-value!) (import - (only (scheme) $make-symbol $symbol-string $set-symbol-string! - $symbol-unique-string $set-symbol-unique-string! - $symbol-value $set-symbol-value! - $set-symbol-plist! $symbol-plist - $car $cdr $fx>= $fxadd1 $set-cdr! $unbound-object?) + (ikarus system $symbols) + (ikarus system $pairs) + (ikarus system $fx) (except (ikarus) gensym gensym? gensym->unique-string gensym-prefix gensym-count print-gensym string->symbol symbol->string diff --git a/src/makefile.ss b/src/makefile.ss index 5a7a5ee..b6ef0e3 100755 --- a/src/makefile.ss +++ b/src/makefile.ss @@ -483,6 +483,7 @@ [$set-symbol-string! $symbols] [$set-symbol-unique-string! $symbols] [$set-symbol-plist! $symbols] + [$unbound-object? $symbols] ; (ikarus system $records) [base-rtd $records] [$record-set! $records] @@ -546,7 +547,6 @@ [$make-values-procedure $stack] ; (ikarus system) [$forward-ptr? s ] - [$unbound-object? s ] [$interrupted? s ] [$unset-interrupted! s ] [$apply-nonprocedure-error-handler s]