diff --git a/src/ikarus.boot b/src/ikarus.boot index f6b878e..c8eed63 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.core.ss b/src/ikarus.core.ss index b1a07a7..8776c4d 100644 --- a/src/ikarus.core.ss +++ b/src/ikarus.core.ss @@ -27,23 +27,6 @@ ($char->fixnum x))) - -(primitive-set! 'vector-length - (lambda (x) - (unless (vector? x) - (error 'vector-length "~s is not a vector" x)) - ($vector-length x))) - - - - - - - - - -(primitive-set! 'not - (lambda (x) (if x #f #t))) diff --git a/src/ikarus.predicates.ss b/src/ikarus.predicates.ss index 5a7c47e..6850a30 100644 --- a/src/ikarus.predicates.ss +++ b/src/ikarus.predicates.ss @@ -3,14 +3,14 @@ (export fixnum? flonum? bignum? number? complex? real? rational? integer? exact? eof-object? immediate? boolean? char? - vector? string? procedure? null? pair? symbol?) + vector? string? procedure? null? pair? symbol? not) (import (except (ikarus) fixnum? flonum? bignum? number? complex? real? rational? integer? exact? eof-object? immediate? boolean? char? vector? string? procedure? null? - pair? symbol?) + pair? symbol? not) (rename (only (ikarus) fixnum? flonum? bignum? eof-object? immediate? boolean? char? vector? string? procedure? @@ -86,4 +86,5 @@ (define pair? (lambda (x) (sys:pair? x))) (define symbol? (lambda (x) (sys:symbol? x))) + (define not (lambda (x) (if x #f #t))) ) diff --git a/src/ikarus.vectors.ss b/src/ikarus.vectors.ss index 1156a77..69ff44c 100644 --- a/src/ikarus.vectors.ss +++ b/src/ikarus.vectors.ss @@ -1,11 +1,18 @@ (library (ikarus vectors) - (export make-vector) + (export make-vector vector-length) (import - (except (ikarus) make-vector) + (except (ikarus) make-vector vector-length) (only (scheme) $fx= $fx>= $fx+ $vector-set! - $make-vector)) + $make-vector $vector-length)) + + + (define vector-length + (lambda (x) + (unless (vector? x) + (error 'vector-length "~s is not a vector" x)) + ($vector-length x))) (module (make-vector) (define fill!