diff --git a/src/ikarus.boot b/src/ikarus.boot index 5235404..dcf54fc 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.library-manager.ss b/src/ikarus.library-manager.ss index 9720f40..c6bba34 100644 --- a/src/ikarus.library-manager.ss +++ b/src/ikarus.library-manager.ss @@ -15,17 +15,10 @@ (library (ikarus library-manager) (export imported-label->binding library-subst/env - current-library-collection - installed-libraries + current-library-collection installed-libraries find-library-by-name imported-loc->library install-library library-spec invoke-library) - (import (except (ikarus) imported-label->binding library-subst/env - current-library-collection - installed-libraries - find-library-by-name imported-loc->library install-library - library-spec invoke-library)) - - + (import (except (ikarus) current-library-collection)) (define (make-collection) (let ([set '()]) diff --git a/src/ikarus.syntax.ss b/src/ikarus.syntax.ss index 69c2eca..798958a 100644 --- a/src/ikarus.syntax.ss +++ b/src/ikarus.syntax.ss @@ -7,14 +7,6 @@ (ikarus library-manager) (only (ikarus compiler) eval-core) (rename (except (ikarus) boot-library-expand syntax-error - library-subst/env - find-library-by-name - imported-label->binding - imported-loc->library - library-spec - current-library-collection - invoke-library - installed-libraries eval-top-level) (free-identifier=? sys:free-identifier=?) (identifier? sys:identifier?) diff --git a/src/makefile.ss b/src/makefile.ss index e47bcf0..6e7df15 100755 --- a/src/makefile.ss +++ b/src/makefile.ss @@ -150,266 +150,266 @@ [or i r])) (define ikarus-procedures-map - '([void i] - [not i] - [boolean? i] - [null? i] - [procedure? i] - [eof-object? i] - [eof-object i] - [eq? i] - [eqv? i] - [equal? i] - [cons i] - [pair? i] - [car i] - [cdr i] - [set-car! i] - [set-cdr! i] - [caar i] - [cdar i] - [cadr i] - [cddr i] - [caaar i] - [cdaar i] - [cadar i] - [cddar i] - [caadr i] - [cdadr i] - [caddr i] - [cdddr i] - [caaaar i] - [cdaaar i] - [cadaar i] - [cddaar i] - [caadar i] - [cdadar i] - [caddar i] - [cdddar i] - [caaadr i] - [cdaadr i] - [cadadr i] - [cddadr i] - [caaddr i] - [cdaddr i] - [cadddr i] - [cddddr i] - [list i] - [list-ref i] - [make-list i] - [list* i] - [list? i] - [append i] - [last-pair i] - [reverse i] - [length i] - [assq i] - [assv i] - [assoc i] - [memq i] - [memv i] - [member i] - [bwp-object? i] - [weak-cons i] - [weak-pair? i] - [char? i] - [char=? i] - [char? i] - [char<=? i] - [char>=? i] - [integer->char i] - [char->integer i] - [char-whitespace? i] - [string? i] - [string i] - [make-string i] - [string-ref i] - [string-set! i] - [string-length i] - [string=? i] - [substring i] - [string-append i] - [string->list i] - [list->string i] - [uuid i] - [date-string i] - [vector i] - [make-vector i] - [vector-ref i] - [vector-set! i] - [vector? i] - [vector-length i] - [list->vector i] - [vector->list i] - [for-each i] - [map i] - [andmap i] - [ormap i] - [fixnum? i] - [fx< i] - [fx<= i] - [fx> i] - [fx>= i] - [fx= i] - [fx- i] - [fx+ i] - [fx* i] - [fxzero? i] - [fxadd1 i] - [fxsub1 i] - [fxquotient i] - [fxremainder i] - [fxmodulo i] - [fxsll i] - [fxsra i] - [fxlogand i] - [fxlogxor i] - [fxlogor i] - [fxlognot i] - [fixnum->string i] - [string->flonum i] - [- i] - [= i] - [< i] - [> i] - [<= i] - [>= i] - [* i] - [+ i] - [add1 i] - [sub1 i] - [number? i] - [bignum? i] - [integer? i] - [flonum? i] - [quotient i] - [remainder i] - [quotient+remainder i] - [number->string i] - [string->number i] - [flonum->string i] - [symbol? i] - [gensym? i] - [gensym i] - [getprop i] - [putprop i] - [remprop i] - [property-list i] - [string->symbol i] - [symbol->string i] - [gensym->unique-string i] - [symbol-bound? i] - [symbol-value i] - [set-symbol-value! i] - [make-guardian i] - [make-input-port i] - [make-output-port i] - [make-input/output-port i] - [port-output-index i] - [port-output-size i] - [port-output-buffer i] - [set-port-output-index! i] - [set-port-output-size! i] - [port-input-buffer i] - [port-input-index i] - [port-input-size i] - [set-port-input-index! i] - [set-port-input-size! i] - [output-port? i] - [input-port? i] - [port? i] - [port-name i] - [input-port-name i] - [output-port-name i] - [open-input-file i] - [with-input-from-file i] - [with-output-to-file i] - [open-output-file i] - [open-output-string i] - [get-output-string i] - [close-input-port i] - [close-output-port i] - [console-input-port i] - [console-output-port i] - [current-input-port i] - [current-output-port i] - [standard-input-port i] - [standard-output-port i] - [standard-error-port i] - [flush-output-port i] - [reset-input-port! i] - [display i] - [write i] - [write-char i] - [read i] - [read-char i] - [read-token i] - [peek-char i] - [unread-char i] - [newline i] - [printf i] - [format i] - [pretty-print i] - [comment-handler i] - [print-gensym i] - [gensym-count i] - [gensym-prefix i] - [make-hash-table i] - [hash-table? i] - [get-hash-table i] - [put-hash-table! i] - [make-parameter i] - [apply i] - [values i] - [call-with-values i] - [call/cc i] - [call/cf i] - [dynamic-wind i] - [error i] - [print-error i] - [error-handler i] - [interrupt-handler i] - [exit i] - [load i] - [assembler-output i] - [new-cafe i] - [command-line-arguments i] - [record? i] - [make-record-type i] - [record-type-descriptor i] - [record-type-field-names i] - [record-type-symbol i] - [record-type-name i] - [record-name i] - [record-constructor i] - [record-predicate i] - [record-length i] - [record-printer i] - [record-ref i] - [record-field-accessor i] - [record-field-mutator i] - [identifier? i] - [syntax-error i] - [generate-temporaries i] - [free-identifier=? i] - [code? i] - [immediate? i] - [pointer-value i] + '([void i] + [not i] + [boolean? i] + [null? i] + [procedure? i] + [eof-object? i] + [eof-object i] + [eq? i] + [eqv? i] + [equal? i] + [cons i] + [pair? i] + [car i] + [cdr i] + [set-car! i] + [set-cdr! i] + [caar i] + [cdar i] + [cadr i] + [cddr i] + [caaar i] + [cdaar i] + [cadar i] + [cddar i] + [caadr i] + [cdadr i] + [caddr i] + [cdddr i] + [caaaar i] + [cdaaar i] + [cadaar i] + [cddaar i] + [caadar i] + [cdadar i] + [caddar i] + [cdddar i] + [caaadr i] + [cdaadr i] + [cadadr i] + [cddadr i] + [caaddr i] + [cdaddr i] + [cadddr i] + [cddddr i] + [list i] + [list-ref i] + [make-list i] + [list* i] + [list? i] + [append i] + [last-pair i] + [reverse i] + [length i] + [assq i] + [assv i] + [assoc i] + [memq i] + [memv i] + [member i] + [bwp-object? i] + [weak-cons i] + [weak-pair? i] + [char? i] + [char=? i] + [char? i] + [char<=? i] + [char>=? i] + [integer->char i] + [char->integer i] + [char-whitespace? i] + [string? i] + [string i] + [make-string i] + [string-ref i] + [string-set! i] + [string-length i] + [string=? i] + [substring i] + [string-append i] + [string->list i] + [list->string i] + [uuid i] + [date-string i] + [vector i] + [make-vector i] + [vector-ref i] + [vector-set! i] + [vector? i] + [vector-length i] + [list->vector i] + [vector->list i] + [for-each i] + [map i] + [andmap i] + [ormap i] + [fixnum? i] + [fx< i] + [fx<= i] + [fx> i] + [fx>= i] + [fx= i] + [fx- i] + [fx+ i] + [fx* i] + [fxzero? i] + [fxadd1 i] + [fxsub1 i] + [fxquotient i] + [fxremainder i] + [fxmodulo i] + [fxsll i] + [fxsra i] + [fxlogand i] + [fxlogxor i] + [fxlogor i] + [fxlognot i] + [fixnum->string i] + [string->flonum i] + [- i] + [= i] + [< i] + [> i] + [<= i] + [>= i] + [* i] + [+ i] + [add1 i] + [sub1 i] + [number? i] + [bignum? i] + [integer? i] + [flonum? i] + [quotient i] + [remainder i] + [quotient+remainder i] + [number->string i] + [string->number i] + [flonum->string i] + [symbol? i] + [gensym? i] + [gensym i] + [getprop i] + [putprop i] + [remprop i] + [property-list i] + [string->symbol i] + [symbol->string i] + [gensym->unique-string i] + [symbol-bound? i] + [symbol-value i] + [set-symbol-value! i] + [make-guardian i] + [make-input-port i] + [make-output-port i] + [make-input/output-port i] + [port-output-index i] + [port-output-size i] + [port-output-buffer i] + [set-port-output-index! i] + [set-port-output-size! i] + [port-input-buffer i] + [port-input-index i] + [port-input-size i] + [set-port-input-index! i] + [set-port-input-size! i] + [output-port? i] + [input-port? i] + [port? i] + [port-name i] + [input-port-name i] + [output-port-name i] + [open-input-file i] + [with-input-from-file i] + [with-output-to-file i] + [open-output-file i] + [open-output-string i] + [get-output-string i] + [close-input-port i] + [close-output-port i] + [console-input-port i] + [console-output-port i] + [current-input-port i] + [current-output-port i] + [standard-input-port i] + [standard-output-port i] + [standard-error-port i] + [flush-output-port i] + [reset-input-port! i] + [display i] + [write i] + [write-char i] + [read i] + [read-char i] + [read-token i] + [peek-char i] + [unread-char i] + [newline i] + [printf i] + [format i] + [pretty-print i] + [comment-handler i] + [print-gensym i] + [gensym-count i] + [gensym-prefix i] + [make-hash-table i] + [hash-table? i] + [get-hash-table i] + [put-hash-table! i] + [make-parameter i] + [apply i] + [values i] + [call-with-values i] + [call/cc i] + [call/cf i] + [dynamic-wind i] + [error i] + [print-error i] + [error-handler i] + [interrupt-handler i] + [exit i] + [load i] + [assembler-output i] + [new-cafe i] + [command-line-arguments i] + [record? i] + [make-record-type i] + [record-type-descriptor i] + [record-type-field-names i] + [record-type-symbol i] + [record-type-name i] + [record-name i] + [record-constructor i] + [record-predicate i] + [record-length i] + [record-printer i] + [record-ref i] + [record-field-accessor i] + [record-field-mutator i] + [identifier? i] + [syntax-error i] + [generate-temporaries i] + [free-identifier=? i] + [code? i] + [immediate? i] + [pointer-value i] + + [current-library-collection $boot] + [compile-core-expr-to-port $boot] + [current-primitive-locations $boot] + [boot-library-expand $boot] - [current-library-collection $boot] - [compile-core-expr-to-port $boot] - [current-primitive-locations $boot] - [boot-library-expand $boot] - ; (ikarus system $pairs) [$car $pairs] [$cdr $pairs] [$set-car! $pairs] [$set-cdr! $pairs] - ; (ikarus system $lists) + [$memq $lists] [$memv $lists] - ; (ikarus system $chars) + [$char? $chars] [$char= $chars] [$char< $chars] @@ -418,17 +418,17 @@ [$char>= $chars] [$char->fixnum $chars] [$fixnum->char $chars] - ; (ikarus system $strings) + [$make-string $strings] [$string-ref $strings] [$string-set! $strings] [$string-length $strings] - ; (ikarus system $vectors) + [$make-vector $vectors] [$vector-length $vectors] [$vector-ref $vectors] [$vector-set! $vectors] - ; (ikarus system $fx) + [$fxzero? $fx] [$fxadd1 $fx] [$fxsub1 $fx] @@ -448,7 +448,7 @@ [$fx+ $fx] [$fx* $fx] [$fx- $fx] - ; (ikarus system $symbols) + [$make-symbol $symbols] [$symbol-unique-string $symbols] [$symbol-value $symbols] @@ -459,7 +459,7 @@ [$set-symbol-unique-string! $symbols] [$set-symbol-plist! $symbols] [$unbound-object? $symbols] - ; (ikarus system $records) + [base-rtd $records] [$record-set! $records] [$record-ref $records] @@ -468,7 +468,7 @@ [$make-record $records] [$record? $records] [$record/rtd? $records] - ; (ikarus system $ports) + [$make-port/input $ports] [$make-port/output $ports] [$make-port/both $ports] @@ -483,7 +483,7 @@ [$set-port-input-size! $ports] [$set-port-output-index! $ports] [$set-port-output-size! $ports] - ; (ikarus system $codes) + [$closure-code $codes] [$code->closure $codes] [$code-reloc-vector $codes] @@ -491,7 +491,7 @@ [$code-size $codes] [$code-ref $codes] [$code-set! $codes] - ; (ikarus system $tcbuckets) + [$make-tcbucket $tcbuckets] [$tcbucket-key $tcbuckets] [$tcbucket-val $tcbuckets] @@ -499,7 +499,7 @@ [$set-tcbucket-val! $tcbuckets] [$set-tcbucket-next! $tcbuckets] [$set-tcbucket-tconc! $tcbuckets] - ; (ikarus system $io) + [$flush-output-port $io] [$reset-input-port! $io] [$close-input-port $io] @@ -508,9 +508,9 @@ [$read-char $io] [$peek-char $io] [$unread-char $io] - ; (ikarus system $arg-list) + [$arg-list $arg-list] - ; (ikarus system $stack) + [$$apply $stack] [$fp-at-base $stack] [$primitive-call/cc $stack] @@ -519,7 +519,7 @@ [$seal-frame-and-call $stack] [$make-call-with-values-procedure $stack] [$make-values-procedure $stack] - ; (ikarus system $interrupts) + [$interrupted? $interrupts] [$unset-interrupted! $interrupts] ;;; the following must be defined but they don't have @@ -549,15 +549,15 @@ [syntax-dispatch ] )) - (define (verify-procedures-map) - (for-each - (lambda (x) - (for-each - (lambda (x) - (unless (assq x library-legend) - (error 'verify "~s is not in the libraries list" x))) - (cdr x))) - ikarus-procedures-map)) + (define (verify-map) + (define (f x) + (for-each + (lambda (x) + (unless (assq x library-legend) + (error 'verify "~s is not in the libraries list" x))) + (cdr x))) + (for-each f ikarus-procedures-map) + (for-each f ikarus-macros-map)) (define (make-collection) (let ([set '()]) @@ -667,7 +667,7 @@ [env '()]) (for-each (lambda (file) - (printf "expanding ~s\n" file) + ;(printf "expanding ~s\n" file) (load file (lambda (x) (let-values ([(code export-subst export-env) @@ -684,7 +684,7 @@ (reverse (list* (car code*) code (cdr code*))) export-locs))))) - (verify-procedures-map) + (verify-map) (printf "expanding ...\n")