~ chicken-core (chicken-5) /tests/reexport-tests.scm


 1;;;; 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))
Trap