/ ts.scm
ts.scm
 1  (define-module (ts))
 2  
 3  (eval-when (eval load compile)
 4    (begin
 5      (define %public-modules
 6        '((ts init)
 7          (ts util)
 8          (ts parser)
 9          (ts tree)
10          (ts language)
11          (ts query)))
12  
13      (let* ((current-module (current-module))
14             (current-module-interface (resolve-interface (module-name current-module))))
15        (for-each
16         (lambda (submodule)
17           (let ((submodule-interface (resolve-interface submodule)))
18             (module-use! current-module submodule-interface)
19             (module-use! current-module-interface submodule-interface)))
20         %public-modules)
21        (set-module-duplicates-handlers!
22         current-module-interface
23         (append (lookup-duplicates-handlers 'merge-accessors)
24                 (lookup-duplicates-handlers 'merge-generics)
25                 (module-duplicates-handlers current-module-interface))))))