~ chicken-core (chicken-5) 1b7ffe2138160fa26766c24d3bd56e1bd9b20e86
commit 1b7ffe2138160fa26766c24d3bd56e1bd9b20e86
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Wed Feb 11 09:17:47 2015 +1300
Commit: Evan Hanson <evhan@foldling.org>
CommitDate: Wed Feb 11 09:17:47 2015 +1300
Convert the extras unit into a module
Includes minor workarounds in build-version.scm and posix-common.scm to
avoid depending on extras (and associated bootstrapping problems).
diff --git a/README b/README
index 84d4e9fc..8ea79754 100644
--- a/README
+++ b/README
@@ -285,6 +285,7 @@
| | `-- 7
| | |-- chicken.import.so
| | |-- chicken.data-structures.import.so
+ | | |-- chicken.extras.import.so
| | |-- chicken.files.import.so
| | |-- chicken.lolevel.import.so
| | |-- chicken.ports.import.so
@@ -292,7 +293,6 @@
| | |-- chicken.tcp.import.so
| | |-- chicken.utils.import.so
| | |-- csi.import.so
- | | |-- extras.import.so
| | |-- foreign.import.so
| | |-- irregex.import.so
| | |-- modules.db
diff --git a/batch-driver.scm b/batch-driver.scm
index a44da93a..82c9b6b8 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -40,8 +40,9 @@
user-options-pass user-read-pass user-preprocessor-pass user-pass
user-post-analysis-pass)
-(import chicken scheme extras
+(import chicken scheme
chicken.data-structures
+ chicken.extras
chicken.files
chicken.compiler.support
chicken.compiler.compiler-syntax
diff --git a/build-version.scm b/build-version.scm
index 1040e0a4..5dc66c65 100644
--- a/build-version.scm
+++ b/build-version.scm
@@ -36,10 +36,12 @@
(lambda (x r c)
(let ((fn (cadr x)))
(and (file-exists? fn)
- (let ((ver (with-input-from-file (cadr x) read-line)))
- (if (or (eof-object? ver) (string=? ver ""))
- #f
- ver)))))))
+ (call-with-input-file (cadr x)
+ (lambda (p)
+ (let ((ver ((##sys#slot (##sys#slot p 2) 8) p 256))) ; read-line
+ (if (or (eof-object? ver) (string=? ver ""))
+ #f
+ ver)))))))))
(define (##sys#build-tag) (foreign-value "C_BUILD_TAG" c-string))
(define ##sys#build-id (read-version "buildid"))
diff --git a/chicken-bug.scm b/chicken-bug.scm
index c0be407c..197f78e3 100644
--- a/chicken-bug.scm
+++ b/chicken-bug.scm
@@ -26,8 +26,8 @@
(require-library posix tcp data-structures utils extras)
-(import extras
- chicken.data-structures
+(import chicken.data-structures
+ chicken.extras
chicken.posix
chicken.tcp
chicken.utils)
diff --git a/chicken-install.scm b/chicken-install.scm
index 3c3170fd..9560154a 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -29,11 +29,12 @@
(module main ()
- (import scheme chicken irregex extras)
+ (import scheme chicken irregex)
(import setup-download setup-api)
(import foreign)
(import chicken.data-structures
+ chicken.extras
chicken.files
chicken.ports
chicken.posix
@@ -47,6 +48,7 @@
"setup-download.so" "setup-download.import.so"
"chicken.import.so"
"chicken.data-structures.import.so"
+ "chicken.extras.import.so"
"chicken.files.import.so"
"chicken.lolevel.import.so"
"chicken.ports.import.so"
@@ -55,7 +57,6 @@
"chicken.utils.import.so"
"srfi-1.import.so"
"srfi-4.import.so"
- "extras.import.so"
"foreign.import.so"
"csi.import.so"
"irregex.import.so"
diff --git a/chicken-status.scm b/chicken-status.scm
index a780841a..4b602f61 100644
--- a/chicken-status.scm
+++ b/chicken-status.scm
@@ -30,8 +30,9 @@
(module main ()
(import scheme chicken foreign)
- (import irregex setup-api extras)
+ (import irregex setup-api)
(import chicken.data-structures
+ chicken.extras
chicken.files
chicken.ports
chicken.posix)
diff --git a/common-declarations.scm b/common-declarations.scm
index 8f920e10..843177bc 100644
--- a/common-declarations.scm
+++ b/common-declarations.scm
@@ -32,7 +32,8 @@
(define-syntax d
(syntax-rules ()
((_ arg1)
- (when (##sys#fudge 13) (pp arg1))) ; debug-mode
+ (when (##sys#fudge 13) ; debug-mode
+ (chicken.extras#pp arg1)))
((_ arg1 more ...)
(when (##sys#fudge 13)
(print arg1 more ...))))))
diff --git a/core.scm b/core.scm
index 4c51c2f2..23230902 100644
--- a/core.scm
+++ b/core.scm
@@ -314,10 +314,11 @@
constant-table immutable-constants inline-table line-number-database-2
line-number-database-size)
-(import chicken scheme foreign extras
+(import chicken scheme foreign
chicken.compiler.scrutinizer
chicken.compiler.support
- chicken.data-structures)
+ chicken.data-structures
+ chicken.extras)
(define (d arg1 . more)
(when (##sys#fudge 13) ; debug mode?
diff --git a/csc.scm b/csc.scm
index 916a09bc..3beb6633 100644
--- a/csc.scm
+++ b/csc.scm
@@ -30,6 +30,7 @@
(uses data-structures utils files extras))
(import chicken.data-structures
+ chicken.extras
chicken.files
chicken.utils)
diff --git a/csi.scm b/csi.scm
index 6685af44..f7a594d2 100644
--- a/csi.scm
+++ b/csi.scm
@@ -55,6 +55,7 @@ EOF
history-add history-ref history-clear history-show) )
(import chicken.data-structures
+ chicken.extras
chicken.ports)
diff --git a/defaults.make b/defaults.make
index 07eca241..d99865a5 100644
--- a/defaults.make
+++ b/defaults.make
@@ -268,10 +268,10 @@ CHICKEN_PROGRAM_OPTIONS += $(if $(PROFILE_OBJECTS),-profile)
# import libraries
PRIMITIVE_IMPORT_LIBRARIES = chicken srfi-4
-PRIMITIVE_IMPORT_LIBRARIES += extras foreign csi irregex
+PRIMITIVE_IMPORT_LIBRARIES += foreign csi irregex
PRIMITIVE_IMPORT_LIBRARIES += setup-api setup-download
POSIX_IMPORT_LIBRARY = posix
-DYNAMIC_IMPORT_LIBRARIES = data-structures files lolevel ports tcp utils
+DYNAMIC_IMPORT_LIBRARIES = data-structures extras files lolevel ports tcp utils
# targets
diff --git a/distribution/manifest b/distribution/manifest
index 8edaf0bd..cae1947a 100644
--- a/distribution/manifest
+++ b/distribution/manifest
@@ -240,6 +240,8 @@ chicken.import.scm
chicken.import.c
chicken.data-structures.import.scm
chicken.data-structures.import.c
+chicken.extras.import.scm
+chicken.extras.import.c
chicken.files.import.scm
chicken.files.import.c
chicken.lolevel.import.scm
@@ -255,10 +257,8 @@ chicken.utils.import.c
foreign.import.scm
foreign.import.c
srfi-4.import.scm
-extras.import.scm
irregex.import.scm
srfi-4.import.c
-extras.import.c
irregex.import.c
csi.import.scm
csi.import.c
diff --git a/extras.import.scm b/extras.import.scm
deleted file mode 100644
index da49b53f..00000000
--- a/extras.import.scm
+++ /dev/null
@@ -1,48 +0,0 @@
-;;;; extras.import.scm - import library for "extras" 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
- 'extras
- '(format
- fprintf
- pp
- pretty-print
- pretty-print-width
- printf
- random
- randomize
- read-buffered
- read-byte
- read-file
- read-line
- read-lines
- read-string
- read-string!
- read-token
- sprintf
- write-byte
- write-line
- write-string))
diff --git a/extras.scm b/extras.scm
index 32c0f885..975bdac0 100644
--- a/extras.scm
+++ b/extras.scm
@@ -29,9 +29,13 @@
(unit extras)
(uses data-structures))
-(declare
- (hide fprintf0 generic-write) )
+(module chicken.extras
+ (format fprintf pp pretty-print pretty-print-width printf
+ random randomize read-buffered read-byte read-file read-line
+ read-lines read-string read-string! read-token sprintf
+ write-byte write-line write-string)
+(import scheme chicken)
(import chicken.data-structures)
(include "common-declarations.scm")
@@ -655,3 +659,4 @@
(register-feature! 'srfi-28)
+)
diff --git a/files.scm b/files.scm
index ec62d9a8..685a9542 100644
--- a/files.scm
+++ b/files.scm
@@ -61,8 +61,9 @@ EOF
pathname-strip-extension normalize-pathname)
(import scheme chicken foreign)
-(import extras irregex)
-(import chicken.data-structures)
+(import irregex)
+(import chicken.data-structures
+ chicken.extras)
(include "common-declarations.scm")
diff --git a/modules.scm b/modules.scm
index d6649322..d732e880 100644
--- a/modules.scm
+++ b/modules.scm
@@ -914,6 +914,7 @@
(##sys#register-module-alias 'r5rs 'scheme)
(##sys#register-module-alias 'data-structures 'chicken.data-structures)
+(##sys#register-module-alias 'extras 'chicken.extras)
(##sys#register-module-alias 'files 'chicken.files)
(##sys#register-module-alias 'lolevel 'chicken.lolevel)
(##sys#register-module-alias 'ports 'chicken.ports)
diff --git a/ports.scm b/ports.scm
index 8a5cfdcb..e419bc2a 100644
--- a/ports.scm
+++ b/ports.scm
@@ -54,7 +54,7 @@
with-output-to-string)
(import scheme chicken)
-(import extras)
+(import chicken.extras)
(include "common-declarations.scm")
diff --git a/posix-common.scm b/posix-common.scm
index 70772baa..fd4a8c58 100644
--- a/posix-common.scm
+++ b/posix-common.scm
@@ -203,12 +203,15 @@ EOF
(er-macro-transformer
(lambda (x r c)
;; no need to rename here
- (let ((name (cadr x)))
+ (let* ((mode (cadr x))
+ (name (symbol->string mode)))
`(##core#begin
(declare
(foreign-declare
- ,(sprintf "#ifndef ~a~%#define ~a S_IFREG~%#endif~%" name name)))
- (define-foreign-variable ,name unsigned-int))))))
+ ,(string-append "#ifndef " name "\n"
+ "#define " name " S_IFREG\n"
+ "#endif\n")))
+ (define-foreign-variable ,mode unsigned-int))))))
(stat-mode S_IFLNK)
(stat-mode S_IFREG)
diff --git a/rules.make b/rules.make
index 618bc804..addef24d 100644
--- a/rules.make
+++ b/rules.make
@@ -532,6 +532,7 @@ c-platform.c: c-platform.scm mini-srfi-1.scm \
chicken.compiler.support.import.scm \
chicken.compiler.core.import.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.files.import.scm
c-backend.c: c-backend.scm mini-srfi-1.scm \
chicken.compiler.c-platform.import.scm \
@@ -541,13 +542,16 @@ c-backend.c: c-backend.scm mini-srfi-1.scm \
core.c: core.scm mini-srfi-1.scm \
chicken.compiler.scrutinizer.import.scm \
chicken.compiler.support.import.scm \
- chicken.data-structures.import.scm
+ chicken.data-structures.import.scm \
+ chicken.extras.import.scm
optimizer.c: optimizer.scm mini-srfi-1.scm \
chicken.compiler.support.import.scm \
- chicken.data-structures.import.scm
+ chicken.data-structures.import.scm \
+ chicken.extras.import.scm
scrutinizer.c: scrutinizer.scm mini-srfi-1.scm \
chicken.compiler.support.import.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.files.import.scm \
chicken.ports.import.scm
lfa2.c: lfa2.scm mini-srfi-1.scm \
@@ -560,6 +564,7 @@ chicken-ffi-syntax.c: chicken-ffi-syntax.scm \
chicken.data-structures.import.scm
support.c: support.scm mini-srfi-1.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.files.import.scm \
chicken.ports.import.scm
csc.c: csc.scm \
@@ -568,21 +573,25 @@ csc.c: csc.scm \
chicken.utils.import.scm
csi.c: csi.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.ports.import.scm
chicken-bug.c: chicken-bug.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.tcp.import.scm \
chicken.utils.import.scm
chicken-profile.c: chicken-profile.scm \
chicken.data-structures.import.scm
chicken-status.c: chicken-status.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.files.import.scm \
chicken.ports.import.scm \
chicken.posix.import.scm \
setup-api.import.scm
chicken-install.c: chicken-install.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.files.import.scm \
chicken.ports.import.scm \
chicken.posix.import.scm \
@@ -598,12 +607,14 @@ chicken-uninstall.c: chicken-uninstall.scm \
setup-api.import.scm
setup-api.c: setup-api.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.files.import.scm \
chicken.ports.import.scm \
chicken.posix.import.scm \
chicken.utils.import.scm
setup-download.c: setup-download.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.files.import.scm \
chicken.ports.import.scm \
chicken.posix.import.scm \
@@ -619,11 +630,15 @@ posixwin.c: posixwin.scm \
extras.c: extras.scm \
chicken.data-structures.import.scm
files.c: files.scm \
- chicken.data-structures.import.scm
+ chicken.data-structures.import.scm \
+ chicken.extras.import.scm
+ports.c: ports.scm \
+ chicken.extras.import.scm
tcp.c: tcp.scm \
chicken.ports.import.scm
utils.c: utils.scm \
chicken.data-structures.import.scm \
+ chicken.extras.import.scm \
chicken.files.import.scm \
chicken.posix.import.scm
@@ -642,7 +657,7 @@ expand.c: $(SRCDIR)expand.scm $(SRCDIR)synrules.scm $(SRCDIR)common-declarations
modules.c: $(SRCDIR)modules.scm $(SRCDIR)common-declarations.scm $(SRCDIR)mini-srfi-1.scm
$(bootstrap-lib)
extras.c: $(SRCDIR)extras.scm $(SRCDIR)common-declarations.scm
- $(bootstrap-lib)
+ $(bootstrap-lib) -emit-import-library chicken.extras
posixunix.c: $(SRCDIR)posixunix.scm $(SRCDIR)posix-common.scm $(SRCDIR)common-declarations.scm
$(bootstrap-lib) -emit-import-library chicken.posix
posixwin.c: $(SRCDIR)posixwin.scm $(SRCDIR)posix-common.scm $(SRCDIR)common-declarations.scm
diff --git a/scrutinizer.scm b/scrutinizer.scm
index b0c3d28d..490b41ea 100644
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -33,9 +33,10 @@
(scrutinize load-type-database emit-type-file
validate-type check-and-validate-type install-specializations)
-(import chicken scheme extras
+(import chicken scheme
chicken.compiler.support
chicken.data-structures
+ chicken.extras
chicken.files
chicken.ports)
diff --git a/setup-api.scm b/setup-api.scm
index cb2c3570..cd10c283 100644
--- a/setup-api.scm
+++ b/setup-api.scm
@@ -66,8 +66,9 @@
setup-error-handling)
(import scheme chicken foreign
- irregex extras
+ irregex
chicken.data-structures
+ chicken.extras
chicken.files
chicken.ports
chicken.posix
diff --git a/setup-download.scm b/setup-download.scm
index 33c89bda..de8ffb28 100644
--- a/setup-download.scm
+++ b/setup-download.scm
@@ -37,9 +37,10 @@
temporary-directory)
(import scheme chicken foreign)
- (import extras irregex
+ (import irregex
setup-api
chicken.data-structures
+ chicken.extras
chicken.files
chicken.posix
chicken.tcp
diff --git a/support.scm b/support.scm
index 54a3ca4a..d61ff1dd 100644
--- a/support.scm
+++ b/support.scm
@@ -75,8 +75,9 @@
;; in a lot of other places.
number-type unsafe)
-(import chicken scheme foreign extras
+(import chicken scheme foreign
chicken.data-structures
+ chicken.extras
chicken.files
chicken.ports)
diff --git a/tests/loopy-test.scm b/tests/loopy-test.scm
index 43978f68..003d8103 100644
--- a/tests/loopy-test.scm
+++ b/tests/loopy-test.scm
@@ -1,3 +1,5 @@
+(use (only extras printf))
+
(load-relative "loopy-loop.scm")
(load-relative "matchable.scm")
diff --git a/tests/port-tests.scm b/tests/port-tests.scm
index af1c215e..1c548e14 100644
--- a/tests/port-tests.scm
+++ b/tests/port-tests.scm
@@ -1,4 +1,4 @@
-(require-extension data-structures files ports posix srfi-4 tcp utils)
+(require-extension data-structures extras files ports posix srfi-4 tcp utils)
(include "test.scm")
(test-begin)
diff --git a/tests/pp-test.scm b/tests/pp-test.scm
index 1c65a57c..b7f8f593 100644
--- a/tests/pp-test.scm
+++ b/tests/pp-test.scm
@@ -1,6 +1,7 @@
;;;; pp-test.scm
-(use (only ports with-output-to-string))
+(use (only extras pp)
+ (only ports with-output-to-string))
(define (pp->string thing)
(with-output-to-string (cut pp thing)))
diff --git a/tests/reader-tests.scm b/tests/reader-tests.scm
index 6fbaddf4..a79684d3 100644
--- a/tests/reader-tests.scm
+++ b/tests/reader-tests.scm
@@ -1,7 +1,8 @@
;;;; reader-tests.scm
-(use (only ports with-input-from-string with-output-to-string)
+(use (only extras read-line)
+ (only ports with-input-from-string with-output-to-string)
(only utils read-all))
diff --git a/tests/runtests.sh b/tests/runtests.sh
index b8f712d9..a1f2af05 100755
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -40,7 +40,7 @@ for x in setup-api.so setup-api.import.so setup-download.so \
srfi-4.import.so chicken.data-structures.import.so \
chicken.ports.import.so chicken.utils.import.so chicken.files.import.so \
chicken.posix.import.so \
- extras.import.so \
+ chicken.extras.import.so \
irregex.import.so chicken.tcp.import.so \
foreign.import.so \
csi.import.so irregex.import.so types.db; do
diff --git a/tests/scrutiny-tests.scm b/tests/scrutiny-tests.scm
index 1d12b4c4..4e4c1f6d 100644
--- a/tests/scrutiny-tests.scm
+++ b/tests/scrutiny-tests.scm
@@ -18,7 +18,7 @@
(let ((bar +))
(bar 3 'a)) ; expected number, got symbol
-(pp) ; expected 1 argument, got 0
+(string?) ; expected 1 argument, got 0
(print (cpu-time)) ; expected 1 result, got 2
(print (values)) ; expected 1 result, got 0
diff --git a/tests/scrutiny.expected b/tests/scrutiny.expected
index ff2c0453..a73b8010 100644
--- a/tests/scrutiny.expected
+++ b/tests/scrutiny.expected
@@ -22,7 +22,7 @@ Warning: at toplevel:
(scrutiny-tests.scm:19) in procedure call to `bar', expected argument #2 of type `number', but was given an argument of type `symbol'
Warning: at toplevel:
- (scrutiny-tests.scm:21) in procedure call to `pp', expected 1 argument, but was given 0 arguments
+ (scrutiny-tests.scm:21) in procedure call to `string?', expected 1 argument, but was given 0 arguments
Warning: at toplevel:
expected in argument #1 of procedure call `(print (cpu-time))' a single result, but were given 2 results
diff --git a/tests/srfi-45-tests.scm b/tests/srfi-45-tests.scm
index 1950fd39..9ca20623 100644
--- a/tests/srfi-45-tests.scm
+++ b/tests/srfi-45-tests.scm
@@ -1,7 +1,8 @@
;;; Tests adapted from SRFI 45 (for "lazy" -> "delay-force").
;;; That SRFI Copyright (C) André van Tonder (2003).
-(use (only ports with-output-to-string))
+(use (only extras printf)
+ (only ports with-output-to-string))
(define *errors* 0)
diff --git a/tests/syntax-tests.scm b/tests/syntax-tests.scm
index 8839427f..b651b5f5 100644
--- a/tests/syntax-tests.scm
+++ b/tests/syntax-tests.scm
@@ -1,6 +1,6 @@
;;;; syntax-tests.scm - various macro tests
-
+(use-for-syntax extras)
(use extras)
diff --git a/tests/test-irregex.scm b/tests/test-irregex.scm
index 70786392..5496ed75 100644
--- a/tests/test-irregex.scm
+++ b/tests/test-irregex.scm
@@ -1,7 +1,7 @@
;;;: test-irregex.scm
-(use data-structures irregex ports)
+(use data-structures extras irregex ports)
(include "test.scm")
diff --git a/types.db b/types.db
index 3c6b7b6c..f951c502 100644
--- a/types.db
+++ b/types.db
@@ -1494,27 +1494,26 @@
;; extras
-(format (procedure format (#!rest) *))
-(fprintf (#(procedure #:enforce) fprintf (output-port string #!rest) undefined))
-(pp (#(procedure #:enforce) pp (* #!optional output-port) undefined))
-(pretty-print (#(procedure #:enforce) pretty-print (* #!optional output-port) undefined))
-(pretty-print-width (#(procedure #:clean) pretty-print-width (#!optional fixnum) *))
-(printf (#(procedure #:enforce) printf (string #!rest) undefined))
-(random (#(procedure #:clean #:enforce) random (fixnum) fixnum))
-(randomize (#(procedure #:clean #:enforce) randomize (#!optional fixnum) undefined))
-(read-buffered (#(procedure #:enforce) read-buffered (#!optional input-port) string))
-(read-byte (#(procedure #:enforce) read-byte (#!optional input-port) *))
-(read-file (#(procedure #:enforce) read-file (#!optional (or input-port string) (procedure (input-port) *) fixnum) list))
-(read-line (#(procedure #:enforce) read-line (#!optional input-port (or false fixnum)) (or eof string)))
-(read-lines (#(procedure #:enforce) read-lines (#!optional (or input-port string) fixnum) (list-of string)))
-(read-string (#(procedure #:enforce) read-string (#!optional (or fixnum false) input-port) string))
-(read-string! (#(procedure #:enforce) read-string! ((or fixnum false) string #!optional input-port fixnum) fixnum))
-
-(read-token (#(procedure #:enforce) read-token ((procedure (char) *) #!optional input-port) string))
-(sprintf (#(procedure #:enforce #:foldable) sprintf (string #!rest) string))
-(write-byte (#(procedure #:enforce) write-byte (fixnum #!optional output-port) undefined))
-(write-line (#(procedure #:enforce) write-line (string #!optional output-port) undefined))
-(write-string (#(procedure #:enforce) write-string (string #!optional * output-port) undefined))
+(chicken.extras#format (procedure chicken.extras#format (#!rest) *))
+(chicken.extras#fprintf (#(procedure #:enforce) chicken.extras#fprintf (output-port string #!rest) undefined))
+(chicken.extras#pp (#(procedure #:enforce) chicken.extras#pp (* #!optional output-port) undefined))
+(chicken.extras#pretty-print (#(procedure #:enforce) chicken.extras#pretty-print (* #!optional output-port) undefined))
+(chicken.extras#pretty-print-width (#(procedure #:clean) chicken.extras#pretty-print-width (#!optional fixnum) *))
+(chicken.extras#printf (#(procedure #:enforce) chicken.extras#printf (string #!rest) undefined))
+(chicken.extras#random (#(procedure #:clean #:enforce) chicken.extras#random (fixnum) fixnum))
+(chicken.extras#randomize (#(procedure #:clean #:enforce) chicken.extras#randomize (#!optional fixnum) undefined))
+(chicken.extras#read-buffered (#(procedure #:enforce) chicken.extras#read-buffered (#!optional input-port) string))
+(chicken.extras#read-byte (#(procedure #:enforce) chicken.extras#read-byte (#!optional input-port) *))
+(chicken.extras#read-file (#(procedure #:enforce) chicken.extras#read-file (#!optional (or input-port string) (procedure (input-port) *) fixnum) list))
+(chicken.extras#read-line (#(procedure #:enforce) chicken.extras#read-line (#!optional input-port (or false fixnum)) (or eof string)))
+(chicken.extras#read-lines (#(procedure #:enforce) chicken.extras#read-lines (#!optional (or input-port string) fixnum) (list-of string)))
+(chicken.extras#read-string (#(procedure #:enforce) chicken.extras#read-string (#!optional (or fixnum false) input-port) string))
+(chicken.extras#read-string! (#(procedure #:enforce) chicken.extras#read-string! ((or fixnum false) string #!optional input-port fixnum) fixnum))
+(chicken.extras#read-token (#(procedure #:enforce) chicken.extras#read-token ((procedure (char) *) #!optional input-port) string))
+(chicken.extras#sprintf (#(procedure #:enforce #:foldable) chicken.extras#sprintf (string #!rest) string))
+(chicken.extras#write-byte (#(procedure #:enforce) chicken.extras#write-byte (fixnum #!optional output-port) undefined))
+(chicken.extras#write-line (#(procedure #:enforce) chicken.extras#write-line (string #!optional output-port) undefined))
+(chicken.extras#write-string (#(procedure #:enforce) chicken.extras#write-string (string #!optional * output-port) undefined))
;; files
diff --git a/utils.scm b/utils.scm
index a68a72a2..3a821bec 100644
--- a/utils.scm
+++ b/utils.scm
@@ -41,8 +41,9 @@
qs)
(import scheme chicken)
-(import extras foreign irregex)
+(import foreign irregex)
(import chicken.data-structures
+ chicken.extras
chicken.files
chicken.posix)
Trap