~ chicken-core (master) /tests/reexport-tests.scm
Trap1;;;; reexport-tests.scm
2
3
4(module my-r4rs ()
5 (import (chicken module))
6 (reexport
7 (except scheme
8 dynamic-wind values call-with-values eval scheme-report-environment
9 null-environment interaction-environment)))
10
11(module m1 ()
12 (import my-r4rs)
13 (display (+ 3 4))
14 (newline))
15
16(assert
17 (not
18 (handle-exceptions ex #f
19 (eval '(module m2 ()
20 (import my-r4rs)
21 (values 123))))))
22
23(define-syntax compound-module
24 (syntax-rules ()
25 ((_ name imp ...)
26 (module name ()
27 (import (chicken module) imp ...)
28 (reexport imp ...)))))
29
30(compound-module big-chicken
31 chicken.base
32 chicken.file
33 chicken.port
34 chicken.pretty-print
35 chicken.string)
36
37(module m3 ()
38 (import scheme big-chicken)
39 (pp (string-intersperse '("abc" "def" "ghi") "-")))
40
41;;; #901 - reexport with "*" export list
42
43(module
44 m4
45 (foo-m4)
46 (import scheme chicken.base)
47 (define-syntax foo-m4
48 (ir-macro-transformer
49 (lambda (e i c)
50 ''1))))
51
52(module
53 m5
54 * ; () works here
55 (import (chicken module) m4)
56 (reexport m4))
57
58(import m5)
59(print (foo-m4))