~ chicken-core (chicken-5) 6b3e7e0dfb864bc8f0f90bb6bdac9b86e25e2d72
commit 6b3e7e0dfb864bc8f0f90bb6bdac9b86e25e2d72 Author: Evan Hanson <evhan@foldling.org> AuthorDate: Fri Jul 10 10:17:24 2015 +1200 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Fri Jul 10 10:17:24 2015 +1200 Convert the srfi-4 unit into a module diff --git a/defaults.make b/defaults.make index 07e7549c..f44411a5 100644 --- a/defaults.make +++ b/defaults.make @@ -267,11 +267,12 @@ CHICKEN_PROGRAM_OPTIONS += $(if $(PROFILE_OBJECTS),-profile) # import libraries -PRIMITIVE_IMPORT_LIBRARIES = chicken srfi-4 -PRIMITIVE_IMPORT_LIBRARIES += csi setup-api setup-download +PRIMITIVE_IMPORT_LIBRARIES = chicken csi POSIX_IMPORT_LIBRARY = posix FOREIGN_IMPORT_LIBRARY = foreign -DYNAMIC_IMPORT_LIBRARIES = data-structures eval expand extras files irregex lolevel ports tcp utils +DYNAMIC_IMPORT_LIBRARIES = setup-api setup-download srfi-4 +DYNAMIC_CHICKEN_IMPORT_LIBRARIES = data-structures eval expand extras \ + files irregex lolevel ports tcp utils # targets @@ -283,10 +284,11 @@ CHICKEN_INSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-install$(PROGRAM_SUFFIX) CHICKEN_UNINSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX) CHICKEN_STATUS_PROGRAM = $(PROGRAM_PREFIX)chicken-status$(PROGRAM_SUFFIX) CHICKEN_BUG_PROGRAM = $(PROGRAM_PREFIX)chicken-bug$(PROGRAM_SUFFIX) -IMPORT_LIBRARIES = $(PRIMITIVE_IMPORT_LIBRARIES) \ - chicken.$(POSIX_IMPORT_LIBRARY) \ +IMPORT_LIBRARIES = chicken.$(POSIX_IMPORT_LIBRARY) \ chicken.$(FOREIGN_IMPORT_LIBRARY) \ - $(foreach lib,$(DYNAMIC_IMPORT_LIBRARIES),chicken.$(lib)) + $(DYNAMIC_IMPORT_LIBRARIES) \ + $(PRIMITIVE_IMPORT_LIBRARIES) \ + $(foreach lib,$(DYNAMIC_CHICKEN_IMPORT_LIBRARIES),chicken.$(lib)) ifdef STATICBUILD CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE) diff --git a/rules.make b/rules.make index f66eaf29..fa2b9b36 100644 --- a/rules.make +++ b/rules.make @@ -713,7 +713,7 @@ lolevel.c: $(SRCDIR)lolevel.scm $(SRCDIR)common-declarations.scm tcp.c: $(SRCDIR)tcp.scm $(SRCDIR)common-declarations.scm $(bootstrap-lib) -emit-import-library chicken.tcp srfi-4.c: $(SRCDIR)srfi-4.scm $(SRCDIR)common-declarations.scm - $(bootstrap-lib) + $(bootstrap-lib) -emit-import-library srfi-4 utils.c: $(SRCDIR)utils.scm $(SRCDIR)common-declarations.scm $(bootstrap-lib) -emit-import-library chicken.utils scheduler.c: $(SRCDIR)scheduler.scm $(SRCDIR)common-declarations.scm diff --git a/srfi-4.import.scm b/srfi-4.import.scm deleted file mode 100644 index c2b090ac..00000000 --- a/srfi-4.import.scm +++ /dev/null @@ -1,173 +0,0 @@ -;;;; srfi-4.import.scm - import library for "srfi-4" module -; -; Copyright (c) 2008-2015, The CHICKEN Team -; All rights reserved. -; -; Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following -; conditions are met: -; -; Redistributions of source code must retain the above copyright notice, this list of conditions and the following -; disclaimer. -; Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -; disclaimer in the documentation and/or other materials provided with the distribution. -; Neither the name of the author nor the names of its contributors may be used to endorse or promote -; products derived from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS -; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -; AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR -; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -; POSSIBILITY OF SUCH DAMAGE. - - -(##sys#register-primitive-module - 'srfi-4 - '(blob->f32vector - blob->f32vector/shared - blob->f64vector - blob->f64vector/shared - blob->s16vector - blob->s16vector/shared - blob->s32vector - blob->s32vector/shared - blob->s64vector - blob->s64vector/shared - blob->s8vector - blob->s8vector/shared - blob->u16vector - blob->u16vector/shared - blob->u32vector - blob->u32vector/shared - blob->u64vector - blob->u64vector/shared - blob->u8vector - blob->u8vector/shared - f32vector - f32vector->blob - f32vector->blob/shared - f32vector->byte-vector - f32vector->list - f32vector-length - f32vector-ref - f32vector-set! - f32vector? - f64vector - f64vector->blob - f64vector->blob/shared - f64vector->byte-vector - f64vector->list - f64vector-length - f64vector-ref - f64vector-set! - f64vector? - list->f32vector - list->f64vector - list->s16vector - list->s32vector - list->s64vector - list->s8vector - list->u16vector - list->u32vector - list->u64vector - list->u8vector - make-f32vector - make-f64vector - make-s16vector - make-s32vector - make-s64vector - make-s8vector - make-u16vector - make-u32vector - make-u64vector - make-u8vector - read-u8vector - read-u8vector! - release-number-vector - s16vector - s16vector->blob - s16vector->blob/shared - s16vector->byte-vector - s16vector->list - s16vector-length - s16vector-ref - s16vector-set! - s16vector? - s32vector - s32vector->blob - s32vector->blob/shared - s32vector->byte-vector - s32vector->list - s32vector-length - s32vector-ref - s32vector-set! - s32vector? - s64vector - s64vector->blob - s64vector->blob/shared - s64vector->byte-vector - s64vector->list - s64vector-length - s64vector-ref - s64vector-set! - s64vector? - s8vector - s8vector->blob - s8vector->blob/shared - s8vector->byte-vector - s8vector->list - s8vector-length - s8vector-ref - s8vector-set! - s8vector? - subf32vector - subf64vector - subs16vector - subs32vector - subs64vector - subs8vector - subu16vector - subu32vector - subu64vector - subu8vector - u16vector - u16vector->blob - u16vector->blob/shared - u16vector->byte-vector - u16vector->list - u16vector-length - u16vector-ref - u16vector-set! - u16vector? - u32vector - u32vector->blob - u32vector->blob/shared - u32vector->byte-vector - u32vector->list - u32vector-length - u32vector-ref - u32vector-set! - u32vector? - u64vector - u64vector->blob - u64vector->blob/shared - u64vector->byte-vector - u64vector->list - u64vector-length - u64vector-ref - u64vector-set! - u64vector? - u8vector - u8vector->blob - u8vector->blob/shared - u8vector->byte-vector - u8vector->list - u8vector-length - u8vector-ref - u8vector-set! - u8vector? - write-u8vector - number-vector?)) diff --git a/srfi-4.scm b/srfi-4.scm index c0034b23..132b311d 100644 --- a/srfi-4.scm +++ b/srfi-4.scm @@ -37,6 +37,49 @@ EOF ) ) +(module srfi-4 + (blob->f32vector blob->f32vector/shared + blob->f64vector blob->f64vector/shared + blob->s16vector blob->s16vector/shared + blob->s32vector blob->s32vector/shared + blob->s64vector blob->s64vector/shared + blob->s8vector blob->s8vector/shared + blob->u16vector blob->u16vector/shared + blob->u32vector blob->u32vector/shared + blob->u64vector blob->u64vector/shared + blob->u8vector blob->u8vector/shared + f32vector f32vector->blob f32vector->blob/shared f32vector->list + f32vector-length f32vector-ref f32vector-set! f32vector? + f64vector f64vector->blob f64vector->blob/shared f64vector->list + f64vector-length f64vector-ref f64vector-set! f64vector? + s8vector s8vector->blob s8vector->blob/shared s8vector->list + s8vector-length s8vector-ref s8vector-set! s8vector? + s16vector s16vector->blob s16vector->blob/shared s16vector->list + s16vector-length s16vector-ref s16vector-set! s16vector? + s32vector s32vector->blob s32vector->blob/shared s32vector->list + s32vector-length s32vector-ref s32vector-set! s32vector? + s64vector s64vector->blob s64vector->blob/shared s64vector->list + s64vector-length s64vector-ref s64vector-set! s64vector? + u8vector u8vector->blob u8vector->blob/shared u8vector->list + u8vector-length u8vector-ref u8vector-set! u8vector? + u16vector u16vector->blob u16vector->blob/shared u16vector->list + u16vector-length u16vector-ref u16vector-set! u16vector? + u32vector u32vector->blob u32vector->blob/shared u32vector->list + u32vector-length u32vector-ref u32vector-set! u32vector? + u64vector u64vector->blob u64vector->blob/shared u64vector->list + u64vector-length u64vector-ref u64vector-set! u64vector? + list->f32vector list->f64vector list->s16vector list->s32vector + list->s8vector list->u16vector list->u32vector list->u8vector + make-f32vector make-f64vector make-s16vector make-s32vector + make-s8vector make-u16vector make-u32vector make-u8vector + number-vector? read-u8vector read-u8vector! release-number-vector + subf32vector subf64vector subs16vector subs32vector subs64vector + subs8vector subu16vector subu8vector subu32vector subu64vector + write-u8vector) + +(import scheme chicken) +(import chicken.foreign) + (include "common-declarations.scm") @@ -296,6 +339,18 @@ EOF ;;; Basic constructors: +(define make-f32vector) +(define make-f64vector) +(define make-s16vector) +(define make-s32vector) +(define make-s64vector) +(define make-s8vector) +(define make-u8vector) +(define make-u16vector) +(define make-u32vector) +(define make-u64vector) +(define release-number-vector) + (let* ([ext-alloc (foreign-lambda* scheme-object ([int bytes]) "C_word *buf = (C_word *)C_malloc(bytes + sizeof(C_header));" @@ -764,4 +819,4 @@ EOF (##core#inline "C_string_to_bytevector" str) (##sys#make-structure 'u8vector str))) -(register-feature! 'srfi-4) +(register-feature! 'srfi-4)) diff --git a/tests/environment-tests.scm b/tests/environment-tests.scm index 98b57627..0e84d3cb 100644 --- a/tests/environment-tests.scm +++ b/tests/environment-tests.scm @@ -39,14 +39,12 @@ (import r5rs) (define (bar) 99)) -(require-library srfi-4) - (define foo-env (module-environment 'foo)) -(define srfi-4-env (module-environment 'srfi-4)) +(define csi-env (module-environment 'csi)) (test-equal (eval '(bar) foo-env) 99) (test-error (eval 'baz foo-env)) -(test-equal (eval '(u8vector-ref (u8vector 0 1 2) 1) srfi-4-env) 1) -(test-error (eval 'baz srfi-4-env)) +(test-equal (eval '(editor-command) csi-env) #f) +(test-error (eval 'baz csi-env)) (test-end) diff --git a/tests/syntax-tests.scm b/tests/syntax-tests.scm index b651b5f5..fd42dac1 100644 --- a/tests/syntax-tests.scm +++ b/tests/syntax-tests.scm @@ -1060,8 +1060,14 @@ ;; #578: "use" with import-specifier has no effect for internal modules on csi's top-level -(use (prefix srfi-4 u8v-)) +(use srfi-4) +(use (prefix srfi-4 other-)) u8vector +other-u8vector + +(import (prefix scheme other-)) +eval +other-eval ;; #805: case-lambda is unhygienic (as well as ensure, see 4706afb4 and bc5cc698) diff --git a/types.db b/types.db index 67c05d22..54113bca 100644 --- a/types.db +++ b/types.db @@ -2040,174 +2040,174 @@ ;; srfi-4 -(blob->f32vector (#(procedure #:clean #:enforce) blob->f32vector (blob) (struct f32vector))) -(blob->f32vector/shared (#(procedure #:clean #:enforce) blob->f32vector/shared (blob) (struct f32vector))) -(blob->f64vector (#(procedure #:clean #:enforce) blob->f64vector (blob) (struct f64vector))) -(blob->f64vector/shared (#(procedure #:clean #:enforce) blob->f64vector/shared (blob) (struct f64vector))) -(blob->s16vector (#(procedure #:clean #:enforce) blob->s16vector (blob) (struct s16vector))) -(blob->s16vector/shared (#(procedure #:clean #:enforce) blob->s16vector/shared (blob) (struct s16vector))) -(blob->s32vector (#(procedure #:clean #:enforce) blob->s32vector (blob) (struct s32vector))) -(blob->s32vector/shared (#(procedure #:clean #:enforce) blob->s32vector/shared (blob) (struct s32vector))) -(blob->s8vector (#(procedure #:clean #:enforce) blob->s8vector (blob) (struct s8vector))) -(blob->s8vector/shared (#(procedure #:clean #:enforce) blob->s8vector/shared (blob) (struct s8vector))) -(blob->u16vector (#(procedure #:clean #:enforce) blob->u16vector (blob) (struct u16vector))) -(blob->u16vector/shared (#(procedure #:clean #:enforce) blob->u16vector/shared (blob) (struct u16vector))) -(blob->u32vector (#(procedure #:clean #:enforce) blob->u32vector (blob) (struct u32vector))) -(blob->u32vector/shared (#(procedure #:clean #:enforce) blob->u32vector/shared (blob) (struct u32vector))) -(blob->u64vector (#(procedure #:clean #:enforce) blob->u64vector (blob) (struct u64vector))) -(blob->u64vector/shared (#(procedure #:clean #:enforce) blob->u64vector/shared (blob) (struct u64vector))) -(blob->u8vector (#(procedure #:clean #:enforce) blob->u8vector (blob) (struct u8vector))) -(blob->u8vector/shared (#(procedure #:clean #:enforce) blob->u8vector/shared (blob) (struct u8vector))) -(f32vector (#(procedure #:clean #:enforce) f32vector (#!rest (or integer float)) (struct f32vector))) -(f32vector->blob (#(procedure #:clean #:enforce) f32vector->blob ((struct f32vector)) blob)) -(f32vector->blob/shared (#(procedure #:clean #:enforce) f32vector->blob/shared ((struct f32vector)) blob)) -(f32vector->list (#(procedure #:clean #:enforce) f32vector->list ((struct f32vector)) (list-of float))) - -(f32vector-length (#(procedure #:clean #:enforce) f32vector-length ((struct f32vector)) fixnum) +(srfi-4#blob->f32vector (#(procedure #:clean #:enforce) srfi-4#blob->f32vector (blob) (struct f32vector))) +(srfi-4#blob->f32vector/shared (#(procedure #:clean #:enforce) srfi-4#blob->f32vector/shared (blob) (struct f32vector))) +(srfi-4#blob->f64vector (#(procedure #:clean #:enforce) srfi-4#blob->f64vector (blob) (struct f64vector))) +(srfi-4#blob->f64vector/shared (#(procedure #:clean #:enforce) srfi-4#blob->f64vector/shared (blob) (struct f64vector))) +(srfi-4#blob->s16vector (#(procedure #:clean #:enforce) srfi-4#blob->s16vector (blob) (struct s16vector))) +(srfi-4#blob->s16vector/shared (#(procedure #:clean #:enforce) srfi-4#blob->s16vector/shared (blob) (struct s16vector))) +(srfi-4#blob->s32vector (#(procedure #:clean #:enforce) srfi-4#blob->s32vector (blob) (struct s32vector))) +(srfi-4#blob->s32vector/shared (#(procedure #:clean #:enforce) srfi-4#blob->s32vector/shared (blob) (struct s32vector))) +(srfi-4#blob->s8vector (#(procedure #:clean #:enforce) srfi-4#blob->s8vector (blob) (struct s8vector))) +(srfi-4#blob->s8vector/shared (#(procedure #:clean #:enforce) srfi-4#blob->s8vector/shared (blob) (struct s8vector))) +(srfi-4#blob->u16vector (#(procedure #:clean #:enforce) srfi-4#blob->u16vector (blob) (struct u16vector))) +(srfi-4#blob->u16vector/shared (#(procedure #:clean #:enforce) srfi-4#blob->u16vector/shared (blob) (struct u16vector))) +(srfi-4#blob->u32vector (#(procedure #:clean #:enforce) srfi-4#blob->u32vector (blob) (struct u32vector))) +(srfi-4#blob->u32vector/shared (#(procedure #:clean #:enforce) srfi-4#blob->u32vector/shared (blob) (struct u32vector))) +(srfi-4#blob->u64vector (#(procedure #:clean #:enforce) srfi-4#blob->u64vector (blob) (struct u64vector))) +(srfi-4#blob->u64vector/shared (#(procedure #:clean #:enforce) srfi-4#blob->u64vector/shared (blob) (struct u64vector))) +(srfi-4#blob->u8vector (#(procedure #:clean #:enforce) blob->u8vector (blob) (struct u8vector))) +(srfi-4#blob->u8vector/shared (#(procedure #:clean #:enforce) srfi-4#blob->u8vector/shared (blob) (struct u8vector))) +(srfi-4#f32vector (#(procedure #:clean #:enforce) srfi-4#f32vector (#!rest (or integer float)) (struct f32vector))) +(srfi-4#f32vector->blob (#(procedure #:clean #:enforce) srfi-4#f32vector->blob ((struct f32vector)) blob)) +(srfi-4#f32vector->blob/shared (#(procedure #:clean #:enforce) srfi-4#f32vector->blob/shared ((struct f32vector)) blob)) +(srfi-4#f32vector->list (#(procedure #:clean #:enforce) srfi-4#f32vector->list ((struct f32vector)) (list-of float))) + +(srfi-4#f32vector-length (#(procedure #:clean #:enforce) srfi-4#f32vector-length ((struct f32vector)) fixnum) (((struct f32vector)) (##core#inline "C_u_i_32vector_length" #(1)))) -(f32vector-ref (#(procedure #:clean #:enforce) f32vector-ref ((struct f32vector) fixnum) float)) -(f32vector-set! (#(procedure #:clean #:enforce) f32vector-set! ((struct f32vector) fixnum (or integer float)) undefined)) +(srfi-4#f32vector-ref (#(procedure #:clean #:enforce) srfi-4#f32vector-ref ((struct f32vector) fixnum) float)) +(srfi-4#f32vector-set! (#(procedure #:clean #:enforce) srfi-4#f32vector-set! ((struct f32vector) fixnum (or integer float)) undefined)) -(f32vector? (#(procedure #:pure #:predicate (struct f32vector)) f32vector? (*) boolean)) +(srfi-4#f32vector? (#(procedure #:pure #:predicate (struct f32vector)) srfi-4#f32vector? (*) boolean)) -(f64vector (#(procedure #:clean #:enforce) f64vector (#!rest (or integer float)) (struct f64vector))) -(f64vector->blob (#(procedure #:clean #:enforce) f64vector->blob ((struct f64vector)) blob)) -(f64vector->blob/shared (#(procedure #:clean #:enforce) f64vector->blob/shared ((struct f64vector)) blob)) -(f64vector->list (#(procedure #:clean #:enforce) f64vector->list ((struct f64vector)) (list-of float))) +(srfi-4#f64vector (#(procedure #:clean #:enforce) srfi-4#f64vector (#!rest (or integer float)) (struct f64vector))) +(srfi-4#f64vector->blob (#(procedure #:clean #:enforce) srfi-4#f64vector->blob ((struct f64vector)) blob)) +(srfi-4#f64vector->blob/shared (#(procedure #:clean #:enforce) srfi-4#f64vector->blob/shared ((struct f64vector)) blob)) +(srfi-4#f64vector->list (#(procedure #:clean #:enforce) srfi-4#f64vector->list ((struct f64vector)) (list-of float))) -(f64vector-length (#(procedure #:clean #:enforce) f64vector-length ((struct f64vector)) fixnum) +(srfi-4#f64vector-length (#(procedure #:clean #:enforce) srfi-4#f64vector-length ((struct f64vector)) fixnum) (((struct f64vector)) (##core#inline "C_u_i_64vector_length" #(1)))) -(f64vector-ref (#(procedure #:clean #:enforce) f64vector-ref ((struct f64vector) fixnum) float)) -(f64vector-set! (#(procedure #:clean #:enforce) f64vector-set! ((struct f64vector) fixnum (or integer float)) undefined)) - -(f64vector? (#(procedure #:pure #:predicate (struct f64vector)) f64vector? (*) boolean)) - -(list->f32vector (#(procedure #:clean #:enforce) list->f32vector ((list-of (or float integer))) (struct f32vector))) -(list->f64vector (#(procedure #:clean #:enforce) list->f64vector ((list-of (or float integer))) (struct f64vector))) -(list->s16vector (#(procedure #:clean #:enforce) list->s16vector ((list-of fixnum)) (struct s16vector))) -(list->s32vector (#(procedure #:clean #:enforce) list->s32vector ((list-of integer)) (struct s32vector))) -(list->s8vector (#(procedure #:clean #:enforce) list->s8vector ((list-of fixnum)) (struct s8vector))) -(list->u16vector (#(procedure #:clean #:enforce) list->u16vector ((list-of fixnum)) (struct u16vector))) -(list->u32vector (#(procedure #:clean #:enforce) list->u32vector ((list-of integer)) (struct u32vector))) -(list->u64vector (#(procedure #:clean #:enforce) list->u64vector ((list-of integer)) (struct u64vector))) -(list->u8vector (#(procedure #:clean #:enforce) list->u8vector ((list-of fixnum)) (struct u8vector))) -(make-f32vector (#(procedure #:clean #:enforce) make-f32vector (fixnum #!optional (or integer float false) boolean boolean) (struct f32vector))) -(make-f64vector (#(procedure #:clean #:enforce) make-f64vector (fixnum #!optional (or integer float false) boolean) (struct f64vector))) -(make-s16vector (#(procedure #:clean #:enforce) make-s16vector (fixnum #!optional (or fixnum false) boolean boolean) (struct s16vector))) -(make-s32vector (#(procedure #:clean #:enforce) make-s32vector (fixnum #!optional (or integer false) boolean boolean) (struct s32vector))) -(make-s8vector (#(procedure #:clean #:enforce) make-s8vector (fixnum #!optional (or fixnum false) boolean boolean) (struct s8vector))) -(make-u16vector (#(procedure #:clean #:enforce) make-u16vector (fixnum #!optional (or fixnum false) boolean boolean) (struct u16vector))) -(make-u32vector (#(procedure #:clean #:enforce) make-u32vector (fixnum #!optional (or integer false) boolean boolean) (struct u32vector))) -(make-u64vector (#(procedure #:clean #:enforce) make-u64vector (fixnum #!optional (or integer false) boolean boolean) (struct u64vector))) -(make-u8vector (#(procedure #:clean #:enforce) make-u8vector (fixnum #!optional (or fixnum false) boolean boolean) (struct u8vector))) -(read-u8vector (#(procedure #:enforce) read-u8vector (#!optional (or fixnum false) input-port) (struct u8vector))) -(read-u8vector! (#(procedure #:enforce) read-u8vector! ((or fixnum false) (struct u8vector) #!optional input-port fixnum) integer)) -(release-number-vector (procedure release-number-vector (*) undefined)) -(s16vector (#(procedure #:clean #:enforce) s16vector (#!rest fixnum) (struct s16vector))) -(s16vector->blob (#(procedure #:clean #:enforce) s16vector->blob ((struct s16vector)) blob)) -(s16vector->blob/shared (#(procedure #:clean #:enforce) s16vector->blob/shared ((struct s16vector)) blob)) -(s16vector->list (#(procedure #:clean #:enforce) s16vector->list ((struct s16vector)) (list-of fixnum))) - -(s16vector-length (#(procedure #:clean #:enforce) s16vector-length ((struct s16vector)) fixnum) +(srfi-4#f64vector-ref (#(procedure #:clean #:enforce) srfi-4#f64vector-ref ((struct f64vector) fixnum) float)) +(srfi-4#f64vector-set! (#(procedure #:clean #:enforce) srfi-4#f64vector-set! ((struct f64vector) fixnum (or integer float)) undefined)) + +(srfi-4#f64vector? (#(procedure #:pure #:predicate (struct f64vector)) srfi-4#f64vector? (*) boolean)) + +(srfi-4#list->f32vector (#(procedure #:clean #:enforce) srfi-4#list->f32vector ((list-of (or float integer))) (struct f32vector))) +(srfi-4#list->f64vector (#(procedure #:clean #:enforce) srfi-4#list->f64vector ((list-of (or float integer))) (struct f64vector))) +(srfi-4#list->s16vector (#(procedure #:clean #:enforce) srfi-4#list->s16vector ((list-of fixnum)) (struct s16vector))) +(srfi-4#list->s32vector (#(procedure #:clean #:enforce) srfi-4#list->s32vector ((list-of integer)) (struct s32vector))) +(srfi-4#list->s8vector (#(procedure #:clean #:enforce) srfi-4#list->s8vector ((list-of fixnum)) (struct s8vector))) +(srfi-4#list->u16vector (#(procedure #:clean #:enforce) srfi-4#list->u16vector ((list-of fixnum)) (struct u16vector))) +(srfi-4#list->u32vector (#(procedure #:clean #:enforce) srfi-4#list->u32vector ((list-of integer)) (struct u32vector))) +(srfi-4#list->u64vector (#(procedure #:clean #:enforce) srfi-4#list->u64vector ((list-of integer)) (struct u64vector))) +(srfi-4#list->u8vector (#(procedure #:clean #:enforce) srfi-4#list->u8vector ((list-of fixnum)) (struct u8vector))) +(srfi-4#make-f32vector (#(procedure #:clean #:enforce) srfi-4#make-f32vector (fixnum #!optional (or integer float false) boolean boolean) (struct f32vector))) +(srfi-4#make-f64vector (#(procedure #:clean #:enforce) srfi-4#make-f64vector (fixnum #!optional (or integer float false) boolean) (struct f64vector))) +(srfi-4#make-s16vector (#(procedure #:clean #:enforce) srfi-4#make-s16vector (fixnum #!optional (or fixnum false) boolean boolean) (struct s16vector))) +(srfi-4#make-s32vector (#(procedure #:clean #:enforce) srfi-4#make-s32vector (fixnum #!optional (or integer false) boolean boolean) (struct s32vector))) +(srfi-4#make-s8vector (#(procedure #:clean #:enforce) srfi-4#make-s8vector (fixnum #!optional (or fixnum false) boolean boolean) (struct s8vector))) +(srfi-4#make-u16vector (#(procedure #:clean #:enforce) srfi-4#make-u16vector (fixnum #!optional (or fixnum false) boolean boolean) (struct u16vector))) +(srfi-4#make-u32vector (#(procedure #:clean #:enforce) srfi-4#make-u32vector (fixnum #!optional (or integer false) boolean boolean) (struct u32vector))) +(srfi-4#make-u64vector (#(procedure #:clean #:enforce) srfi-4#make-u64vector (fixnum #!optional (or integer false) boolean boolean) (struct u64vector))) +(srfi-4#make-u8vector (#(procedure #:clean #:enforce) srfi-4#make-u8vector (fixnum #!optional (or fixnum false) boolean boolean) (struct u8vector))) +(srfi-4#read-u8vector (#(procedure #:enforce) srfi-4#read-u8vector (#!optional (or fixnum false) input-port) (struct u8vector))) +(srfi-4#read-u8vector! (#(procedure #:enforce) srfi-4#read-u8vector! ((or fixnum false) (struct u8vector) #!optional input-port fixnum) integer)) +(srfi-4#release-number-vector (procedure srfi-4#release-number-vector (*) undefined)) +(srfi-4#s16vector (#(procedure #:clean #:enforce) srfi-4#s16vector (#!rest fixnum) (struct s16vector))) +(srfi-4#s16vector->blob (#(procedure #:clean #:enforce) srfi-4#s16vector->blob ((struct s16vector)) blob)) +(srfi-4#s16vector->blob/shared (#(procedure #:clean #:enforce) srfi-4#s16vector->blob/shared ((struct s16vector)) blob)) +(srfi-4#s16vector->list (#(procedure #:clean #:enforce) srfi-4#s16vector->list ((struct s16vector)) (list-of fixnum))) + +(srfi-4#s16vector-length (#(procedure #:clean #:enforce) srfi-4#s16vector-length ((struct s16vector)) fixnum) (((struct s16vector)) (##core#inline "C_u_i_16vector_length" #(1)))) -(s16vector-ref (#(procedure #:clean #:enforce) s16vector-ref ((struct s16vector) fixnum) fixnum)) -(s16vector-set! (#(procedure #:clean #:enforce) s16vector-set! ((struct s16vector) fixnum fixnum) undefined)) +(srfi-4#s16vector-ref (#(procedure #:clean #:enforce) srfi-4#s16vector-ref ((struct s16vector) fixnum) fixnum)) +(srfi-4#s16vector-set! (#(procedure #:clean #:enforce) srfi-4#s16vector-set! ((struct s16vector) fixnum fixnum) undefined)) -(s16vector? (#(procedure #:pure #:predicate (struct s16vector)) s16vector? (*) boolean)) +(srfi-4#s16vector? (#(procedure #:pure #:predicate (struct s16vector)) srfi-4#s16vector? (*) boolean)) -(s32vector (#(procedure #:clean #:enforce) s32vector (#!rest integer) (struct s32vector))) -(s32vector->blob (#(procedure #:clean #:enforce) s32vector->blob ((struct s32vector)) blob)) -(s32vector->blob/shared (#(procedure #:clean #:enforce) s32vector->blob/shared ((struct s32vector)) blob)) -(s32vector->list (#(procedure #:clean #:enforce) s32vector->list ((struct s32vector)) (list-of integer))) +(srfi-4#s32vector (#(procedure #:clean #:enforce) srfi-4#s32vector (#!rest integer) (struct s32vector))) +(srfi-4#s32vector->blob (#(procedure #:clean #:enforce) srfi-4#s32vector->blob ((struct s32vector)) blob)) +(srfi-4#s32vector->blob/shared (#(procedure #:clean #:enforce) srfi-4#s32vector->blob/shared ((struct s32vector)) blob)) +(srfi-4#s32vector->list (#(procedure #:clean #:enforce) srfi-4#s32vector->list ((struct s32vector)) (list-of integer))) -(s32vector-length (#(procedure #:clean #:enforce) s32vector-length ((struct s32vector)) fixnum) +(srfi-4#s32vector-length (#(procedure #:clean #:enforce) srfi-4#s32vector-length ((struct s32vector)) fixnum) (((struct s32vector)) (##core#inline "C_u_i_32vector_length" #(1)))) -(s32vector-ref (#(procedure #:clean #:enforce) s32vector-ref ((struct s32vector) fixnum) integer)) -(s32vector-set! (#(procedure #:clean #:enforce) s32vector-set! ((struct s32vector) fixnum integer) undefined)) +(srfi-4#s32vector-ref (#(procedure #:clean #:enforce) srfi-4#s32vector-ref ((struct s32vector) fixnum) integer)) +(srfi-4#s32vector-set! (#(procedure #:clean #:enforce) srfi-4#s32vector-set! ((struct s32vector) fixnum integer) undefined)) -(s32vector? (#(procedure #:pure #:predicate (struct s32vector)) s32vector? (*) boolean)) +(srfi-4#s32vector? (#(procedure #:pure #:predicate (struct s32vector)) srfi-4#s32vector? (*) boolean)) -(s8vector (#(procedure #:clean #:enforce) s8vector (#!rest fixnum) (struct s8vector))) -(s8vector->blob (#(procedure #:clean #:enforce) s8vector->blob ((struct s8vector)) blob)) -(s8vector->blob/shared (#(procedure #:clean #:enforce) s8vector->blob/shared ((struct s8vector)) blob)) -(s8vector->list (#(procedure #:clean #:enforce) s8vector->list ((struct s8vector)) (list-of fixnum))) +(srfi-4#s8vector (#(procedure #:clean #:enforce) srfi-4#s8vector (#!rest fixnum) (struct s8vector))) +(srfi-4#s8vector->blob (#(procedure #:clean #:enforce) srfi-4#s8vector->blob ((struct s8vector)) blob)) +(srfi-4#s8vector->blob/shared (#(procedure #:clean #:enforce) srfi-4#s8vector->blob/shared ((struct s8vector)) blob)) +(srfi-4#s8vector->list (#(procedure #:clean #:enforce) srfi-4#s8vector->list ((struct s8vector)) (list-of fixnum))) -(s8vector-length (#(procedure #:clean #:enforce) s8vector-length ((struct s8vector)) fixnum) +(srfi-4#s8vector-length (#(procedure #:clean #:enforce) srfi-4#s8vector-length ((struct s8vector)) fixnum) (((struct s8vector)) (##core#inline "C_u_i_8vector_length" #(1)))) -(s8vector-ref (#(procedure #:clean #:enforce) s8vector-ref ((struct s8vector) fixnum) fixnum)) -(s8vector-set! (#(procedure #:clean #:enforce) s8vector-set! ((struct s8vector) fixnum fixnum) undefined)) - -(s8vector? (#(procedure #:pure #:predicate (struct s8vector)) s8vector? (*) boolean)) - -(subf32vector (#(procedure #:clean #:enforce) subf32vector ((struct f32vector) fixnum fixnum) (struct f32vector))) -(subf64vector (#(procedure #:clean #:enforce) subf64vector ((struct f64vector) fixnum fixnum) (struct f64vector))) -(subs16vector (#(procedure #:clean #:enforce) subs16vector ((struct s16vector) fixnum fixnum) (struct s16vector))) -(subs32vector (#(procedure #:clean #:enforce) subs32vector ((struct s32vector) fixnum fixnum) (struct s32vector))) -(subs8vector (#(procedure #:clean #:enforce) subs8vector ((struct s8vector) fixnum fixnum) (struct s8vector))) -(subu16vector (#(procedure #:clean #:enforce) subu16vector ((struct u16vector) fixnum fixnum) (struct u16vector))) -(subu32vector (#(procedure #:clean #:enforce) subu32vector ((struct u32vector) fixnum fixnum) (struct u32vector))) -(subu64vector (#(procedure #:clean #:enforce) subu64vector ((struct u64vector) fixnum fixnum) (struct u64vector))) -(subu8vector (#(procedure #:clean #:enforce) subu8vector ((struct u8vector) fixnum fixnum) (struct u8vector))) -(u16vector (#(procedure #:clean #:enforce) u16vector (#!rest fixnum) (struct u16vector))) -(u16vector->blob (#(procedure #:clean #:enforce) u16vector->blob ((struct u16vector)) blob)) -(u16vector->blob/shared (#(procedure #:clean #:enforce) u16vector->blob/shared ((struct u16vector)) blob)) -(u16vector->list (#(procedure #:clean #:enforce) u16vector->list ((struct u16vector)) (list-of fixnum))) - -(u16vector-length (#(procedure #:clean #:enforce) u16vector-length ((struct u16vector)) fixnum) +(srfi-4#s8vector-ref (#(procedure #:clean #:enforce) srfi-4#s8vector-ref ((struct s8vector) fixnum) fixnum)) +(srfi-4#s8vector-set! (#(procedure #:clean #:enforce) srfi-4#s8vector-set! ((struct s8vector) fixnum fixnum) undefined)) + +(srfi-4#s8vector? (#(procedure #:pure #:predicate (struct s8vector)) srfi-4#s8vector? (*) boolean)) + +(srfi-4#subf32vector (#(procedure #:clean #:enforce) srfi-4#subf32vector ((struct f32vector) fixnum fixnum) (struct f32vector))) +(srfi-4#subf64vector (#(procedure #:clean #:enforce) srfi-4#subf64vector ((struct f64vector) fixnum fixnum) (struct f64vector))) +(srfi-4#subs16vector (#(procedure #:clean #:enforce) srfi-4#subs16vector ((struct s16vector) fixnum fixnum) (struct s16vector))) +(srfi-4#subs32vector (#(procedure #:clean #:enforce) srfi-4#subs32vector ((struct s32vector) fixnum fixnum) (struct s32vector))) +(srfi-4#subs8vector (#(procedure #:clean #:enforce) srfi-4#subs8vector ((struct s8vector) fixnum fixnum) (struct s8vector))) +(srfi-4#subu16vector (#(procedure #:clean #:enforce) srfi-4#subu16vector ((struct u16vector) fixnum fixnum) (struct u16vector))) +(srfi-4#subu32vector (#(procedure #:clean #:enforce) srfi-4#subu32vector ((struct u32vector) fixnum fixnum) (struct u32vector))) +(srfi-4#subu64vector (#(procedure #:clean #:enforce) srfi-4#subu64vector ((struct u64vector) fixnum fixnum) (struct u64vector))) +(srfi-4#subu8vector (#(procedure #:clean #:enforce) srfi-4#subu8vector ((struct u8vector) fixnum fixnum) (struct u8vector))) +(srfi-4#u16vector (#(procedure #:clean #:enforce) srfi-4#u16vector (#!rest fixnum) (struct u16vector))) +(srfi-4#u16vector->blob (#(procedure #:clean #:enforce) srfi-4#u16vector->blob ((struct u16vector)) blob)) +(srfi-4#u16vector->blob/shared (#(procedure #:clean #:enforce) srfi-4#u16vector->blob/shared ((struct u16vector)) blob)) +(srfi-4#u16vector->list (#(procedure #:clean #:enforce) srfi-4#u16vector->list ((struct u16vector)) (list-of fixnum))) + +(srfi-4#u16vector-length (#(procedure #:clean #:enforce) srfi-4#u16vector-length ((struct u16vector)) fixnum) (((struct u16vector)) (##core#inline "C_u_i_16vector_length" #(1)))) -(u16vector-ref (#(procedure #:clean #:enforce) u16vector-ref ((struct u16vector) fixnum) fixnum)) -(u16vector-set! (#(procedure #:clean #:enforce) u16vector-set! ((struct u16vector) fixnum fixnum) undefined)) +(srfi-4#u16vector-ref (#(procedure #:clean #:enforce) srfi-4#u16vector-ref ((struct u16vector) fixnum) fixnum)) +(srfi-4#u16vector-set! (#(procedure #:clean #:enforce) srfi-4#u16vector-set! ((struct u16vector) fixnum fixnum) undefined)) -(u16vector? (#(procedure #:pure #:predicate (struct u16vector)) u16vector? (*) boolean)) +(srfi-4#u16vector? (#(procedure #:pure #:predicate (struct u16vector)) srfi-4#u16vector? (*) boolean)) -(u32vector (#(procedure #:clean #:enforce) u32vector (#!rest integer) (struct u32vector))) -(u32vector->blob (#(procedure #:clean #:enforce) u32vector->blob ((struct u32vector)) blob)) -(u32vector->blob/shared (#(procedure #:clean #:enforce) u32vector->blob/shared ((struct u32vector)) blob)) -(u32vector->list (#(procedure #:clean #:enforce) u32vector->list ((struct u32vector)) (list-of integer))) +(srfi-4#u32vector (#(procedure #:clean #:enforce) srfi-4#u32vector (#!rest integer) (struct u32vector))) +(srfi-4#u32vector->blob (#(procedure #:clean #:enforce) srfi-4#u32vector->blob ((struct u32vector)) blob)) +(srfi-4#u32vector->blob/shared (#(procedure #:clean #:enforce) srfi-4#u32vector->blob/shared ((struct u32vector)) blob)) +(srfi-4#u32vector->list (#(procedure #:clean #:enforce) srfi-4#u32vector->list ((struct u32vector)) (list-of integer))) -(u32vector-length (#(procedure #:clean #:enforce) u32vector-length ((struct u32vector)) fixnum) +(srfi-4#u32vector-length (#(procedure #:clean #:enforce) srfi-4#u32vector-length ((struct u32vector)) fixnum) (((struct u32vector)) (##core#inline "C_u_i_32vector_length" #(1)))) -(u32vector-ref (#(procedure #:clean #:enforce) u32vector-ref ((struct u32vector) fixnum) integer)) -(u32vector-set! (#(procedure #:clean #:enforce) u32vector-set! ((struct u32vector) fixnum integer) undefined)) +(srfi-4#u32vector-ref (#(procedure #:clean #:enforce) srfi-4#u32vector-ref ((struct u32vector) fixnum) integer)) +(srfi-4#u32vector-set! (#(procedure #:clean #:enforce) srfi-4#u32vector-set! ((struct u32vector) fixnum integer) undefined)) -(u32vector? (#(procedure #:pure #:predicate (struct u32vector)) u32vector? (*) boolean)) +(srfi-4#u32vector? (#(procedure #:pure #:predicate (struct u32vector)) srfi-4#u32vector? (*) boolean)) -(u64vector (#(procedure #:clean #:enforce) u64vector (#!rest integer) (struct u64vector))) -(u64vector->blob (#(procedure #:clean #:enforce) u64vector->blob ((struct u64vector)) blob)) -(u64vector->blob/shared (#(procedure #:clean #:enforce) u64vector->blob/shared ((struct u64vector)) blob)) -(u64vector->list (#(procedure #:clean #:enforce) u64vector->list ((struct u64vector)) (list-of integer))) +(srfi-4#u64vector (#(procedure #:clean #:enforce) srfi-4#u64vector (#!rest integer) (struct u64vector))) +(srfi-4#u64vector->blob (#(procedure #:clean #:enforce) srfi-4#u64vector->blob ((struct u64vector)) blob)) +(srfi-4#u64vector->blob/shared (#(procedure #:clean #:enforce) srfi-4#u64vector->blob/shared ((struct u64vector)) blob)) +(srfi-4#u64vector->list (#(procedure #:clean #:enforce) srfi-4#u64vector->list ((struct u64vector)) (list-of integer))) -(u64vector-length (#(procedure #:clean #:enforce) u64vector-length ((struct u64vector)) fixnum) +(srfi-4#u64vector-length (#(procedure #:clean #:enforce) srfi-4#u64vector-length ((struct u64vector)) fixnum) (((struct u64vector)) (##core#inline "C_u_i_64vector_length" #(1)))) -(u64vector-ref (#(procedure #:clean #:enforce) u64vector-ref ((struct u64vector) fixnum) integer)) -(u64vector-set! (#(procedure #:clean #:enforce) u64vector-set! ((struct u64vector) fixnum integer) undefined)) +(srfi-4#u64vector-ref (#(procedure #:clean #:enforce) srfi-4#u64vector-ref ((struct u64vector) fixnum) integer)) +(srfi-4#u64vector-set! (#(procedure #:clean #:enforce) srfi-4#u64vector-set! ((struct u64vector) fixnum integer) undefined)) -(u64vector? (#(procedure #:pure #:predicate (struct u64vector)) u64vector? (*) boolean)) +(srfi-4#u64vector? (#(procedure #:pure #:predicate (struct u64vector)) srfi-4#u64vector? (*) boolean)) -(u8vector (#(procedure #:clean #:enforce) u8vector (#!rest fixnum) (struct u8vector))) -(u8vector->blob (#(procedure #:clean #:enforce) u8vector->blob ((struct u8vector)) blob)) -(u8vector->blob/shared (#(procedure #:clean #:enforce) u8vector->blob/shared ((struct u8vector)) blob)) -(u8vector->list (#(procedure #:clean #:enforce) u8vector->list ((struct u8vector)) (list-of fixnum))) +(srfi-4#u8vector (#(procedure #:clean #:enforce) srfi-4#u8vector (#!rest fixnum) (struct u8vector))) +(srfi-4#u8vector->blob (#(procedure #:clean #:enforce) srfi-4#u8vector->blob ((struct u8vector)) blob)) +(srfi-4#u8vector->blob/shared (#(procedure #:clean #:enforce) srfi-4#u8vector->blob/shared ((struct u8vector)) blob)) +(srfi-4#u8vector->list (#(procedure #:clean #:enforce) srfi-4#u8vector->list ((struct u8vector)) (list-of fixnum))) -(u8vector-length (#(procedure #:clean #:enforce) u8vector-length ((struct u8vector)) fixnum) +(srfi-4#u8vector-length (#(procedure #:clean #:enforce) srfi-4#u8vector-length ((struct u8vector)) fixnum) (((struct u8vector)) (##core#inline "C_u_i_8vector_length" #(1)))) -(u8vector-ref (#(procedure #:clean #:enforce) u8vector-ref ((struct u8vector) fixnum) fixnum)) -(u8vector-set! (#(procedure #:clean #:enforce) u8vector-set! ((struct u8vector) fixnum fixnum) undefined)) +(srfi-4#u8vector-ref (#(procedure #:clean #:enforce) srfi-4#u8vector-ref ((struct u8vector) fixnum) fixnum)) +(srfi-4#u8vector-set! (#(procedure #:clean #:enforce) srfi-4#u8vector-set! ((struct u8vector) fixnum fixnum) undefined)) -(u8vector? (#(procedure #:pure #:predicate (struct u8vector)) u8vector? (*) boolean)) +(srfi-4#u8vector? (#(procedure #:pure #:predicate (struct u8vector)) srfi-4#u8vector? (*) boolean)) -(write-u8vector (#(procedure #:enforce) write-u8vector ((struct u8vector) #!optional output-port fixnum fixnum) undefined)) +(srfi-4#write-u8vector (#(procedure #:enforce) srfi-4#write-u8vector ((struct u8vector) #!optional output-port fixnum fixnum) undefined)) -(number-vector? (#(procedure #:pure #:predicate (or (struct u8vector) (struct u16vector) (struct s8vector) (struct s16vector) (struct u32vector) (struct s32vector) (struct u64vector) (struct s64vector) (struct f32vector) (struct f64vector))) number-vector? (*) boolean)) +(srfi-4#number-vector? (#(procedure #:pure #:predicate (or (struct u8vector) (struct u16vector) (struct s8vector) (struct s16vector) (struct u32vector) (struct s32vector) (struct u64vector) (struct s64vector) (struct f32vector) (struct f64vector))) srfi-4#number-vector? (*) boolean)) (##sys#srfi-4-vector? (#(procedure #:pure #:predicate (or (struct u8vector) (struct u16vector) (struct s8vector) (struct s16vector) (struct u32vector) (struct s32vector) (struct u64vector) (struct s64vector) (struct f32vector) (struct f64vector))) ##sys#srfi-4-vector? (*) boolean))Trap