44 lines
1.6 KiB
Scheme
44 lines
1.6 KiB
Scheme
#lang scheme/base
|
|
|
|
(define-syntax re-export
|
|
(syntax-rules ()
|
|
[(_) (re-export rnrs/base-6
|
|
rnrs/exceptions-6
|
|
rnrs/programs-6
|
|
rnrs/files-6
|
|
rnrs/bytevectors-6
|
|
rnrs/hashtables-6
|
|
rnrs/sorting-6
|
|
rnrs/syntax-case-6
|
|
rnrs/conditions-6
|
|
rnrs/unicode-6
|
|
rnrs/control-6
|
|
rnrs/lists-6
|
|
rnrs/enums-6
|
|
rnrs/arithmetic/bitwise-6
|
|
rnrs/arithmetic/fixnums-6
|
|
rnrs/arithmetic/flonums-6
|
|
rnrs/io/ports-6
|
|
rnrs/io/simple-6
|
|
rnrs/records/inspection-6
|
|
rnrs/records/syntactic-6
|
|
rnrs/records/procedural-6)]
|
|
[(_ id) (begin
|
|
(require id
|
|
;; Shift any run time exports to for-syntax:
|
|
(for-syntax (only-meta-in 0 id))
|
|
;; Shift any for-syntax exports for run time:
|
|
(for-template (only-meta-in 1 id)))
|
|
(provide (all-from-out id)
|
|
(for-template (all-from-out id))
|
|
(for-syntax (all-from-out id))))]
|
|
[(_ id ...)
|
|
(begin (re-export id) ...)]))
|
|
|
|
(re-export)
|
|
|
|
;; Also need to export prelims for syntax, since there will
|
|
;; not be a for-syntax import when this module is imported:
|
|
(require (for-syntax r6rs/private/prelims))
|
|
(provide (for-syntax (all-from-out r6rs/private/prelims)))
|