~ 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