~ chicken-core (chicken-5) 72eb12ddd0ef987d2c64afabc721f5abf6c2d640
commit 72eb12ddd0ef987d2c64afabc721f5abf6c2d640 Author: Evan Hanson <evhan@foldling.org> AuthorDate: Mon Oct 12 19:53:35 2015 +1300 Commit: Peter Bex <peter@more-magic.net> CommitDate: Mon Nov 2 21:29:01 2015 +0100 Un-##sys# and hide toplevel definitions not used outside modules.scm Also removes the totally-unused `##sys#register-interface` procedure and hides `check-for-redefs`, which was previously leaked into the toplevel. diff --git a/modules.scm b/modules.scm index d7f1cc55..275939e8 100644 --- a/modules.scm +++ b/modules.scm @@ -29,8 +29,10 @@ (uses eval expand internal) (disable-interrupts) (fixnum) - (hide merge-se module-indirect-exports) - (not inline ##sys#alias-global-hook)) + (not inline ##sys#alias-global-hook) + (hide check-for-redef find-export find-module/import-library + mark-imported-symbols match-functor-argument merge-se + module-indirect-exports module-rename register-undefined)) (include "common-declarations.scm") (include "mini-srfi-1.scm") @@ -178,10 +180,10 @@ (define (##sys#register-export sym mod) (when mod (let ((exp (or (eq? #t (module-export-list mod)) - (##sys#find-export sym mod #t))) + (find-export sym mod #t))) (ulist (module-undefined-list mod))) (##sys#toplevel-definition-hook ; in compiler, hides unexported bindings - (##sys#module-rename sym (module-name mod)) + (module-rename sym (module-name mod)) mod exp #f) (and-let* ((a (assq sym ulist))) (set-module-undefined-list! mod (delete a ulist eq?))) @@ -197,7 +199,7 @@ (define (##sys#register-syntax-export sym mod val) (when mod (let ((exp (or (eq? #t (module-export-list mod)) - (##sys#find-export sym mod #t))) + (find-export sym mod #t))) (ulist (module-undefined-list mod)) (mname (module-name mod))) (when (assq sym ulist) @@ -213,7 +215,7 @@ mod (cons (cons sym val) (module-defined-syntax-list mod)))))) -(define (##sys#register-undefined sym mod where) +(define (register-undefined sym mod where) (when mod (let ((ul (module-undefined-list mod))) (cond ((assq sym ul) => @@ -230,7 +232,7 @@ (set! ##sys#module-table (cons (cons name mod) ##sys#module-table)) mod) ) -(define (##sys#mark-imported-symbols se) +(define (mark-imported-symbols se) (for-each (lambda (imp) (when (and (symbol? (cdr imp)) (not (eq? (car imp) (cdr imp)))) @@ -268,7 +270,7 @@ (cons (cons (car iexports) - (or (cdr a) (##sys#module-rename (car iexports) mname))) + (or (cdr a) (module-rename (car iexports) mname))) (loop2 (cdr iexports))))) ((assq (car iexports) (##sys#current-environment)) => (lambda (a) ; imported in current env. @@ -361,7 +363,7 @@ (##sys#macro-environment) (##sys#current-environment) iexps vexports sexps nexps))) - (##sys#mark-imported-symbols iexps) + (mark-imported-symbols iexps) (for-each (lambda (sexp) (set-car! (cdr sexp) (merge-se (or (cadr sexp) '()) senv))) @@ -416,7 +418,7 @@ (set! ##sys#module-table (cons (cons name mod) ##sys#module-table)) mod)) -(define (##sys#find-export sym mod indirect) +(define (find-export sym mod indirect) (let ((exports (module-export-list mod))) (let loop ((xl (if (eq? #t exports) (module-exist-list mod) exports))) (cond ((null? xl) #f) @@ -443,7 +445,7 @@ (merge-se (module-sexports mod) sdlist) (let loop ((me (##sys#macro-environment))) (cond ((null? me) '()) - ((##sys#find-export (caar me) mod #f) + ((find-export (caar me) mod #f) (cons (car me) (loop (cdr me)))) (else (loop (cdr me))))))) (vexports @@ -473,7 +475,7 @@ "' has not been defined") id) #f) - (else (##sys#module-rename id name))))))) + (else (module-rename id name))))))) (loop (cdr xl))))))))) (for-each (lambda (u) @@ -519,7 +521,7 @@ (##sys#macro-environment) (##sys#current-environment) iexports vexports sexports sdlist))) - (##sys#mark-imported-symbols iexports) + (mark-imported-symbols iexports) (for-each (lambda (m) (let ((se (merge-se (cadr m) new-se))) ;XXX needed? @@ -548,7 +550,7 @@ ;;; Import-expansion -(define (##sys#find-module/import-library lib loc) +(define (find-module/import-library lib loc) (let* ((mname (##sys#resolve-module-name lib loc)) (mod (##sys#find-module mname #f loc))) (unless mod @@ -584,7 +586,7 @@ ((number? x) (number->string x)) (else (##sys#syntax-error-hook loc "invalid prefix" )))) (define (import-name spec) - (let* ((mod (##sys#find-module/import-library spec 'import)) + (let* ((mod (find-module/import-library spec 'import)) (vexp (module-vexports mod)) (sexp (module-sexports mod)) (iexp (module-iexports mod)) @@ -694,7 +696,7 @@ (dd `(IMPORT: ,loc)) (dd `(V: ,(if cm (module-name cm) '<toplevel>) ,(map-se vsv))) (dd `(S: ,(if cm (module-name cm) '<toplevel>) ,(map-se vss))) - (##sys#mark-imported-symbols vsv) ; mark imports as ##core#aliased + (mark-imported-symbols vsv) ; mark imports as ##core#aliased (for-each (lambda (imp) (and-let* ((id (car imp)) @@ -737,7 +739,7 @@ (cdr x)) '(##core#undefined)))) -(define (##sys#module-rename sym prefix) +(define (module-rename sym prefix) (##sys#string->symbol (string-append (##sys#slot prefix 1) @@ -750,8 +752,8 @@ (lambda (mod) (dm "(ALIAS) global alias " sym " in " (module-name mod)) (unless assign - (##sys#register-undefined sym mod where)) - (##sys#module-rename sym (module-name mod)))) + (register-undefined sym mod where)) + (module-rename sym (module-name mod)))) (else sym))) (cond ((##sys#qualified-symbol? sym) sym) ((getp sym '##core#primitive) => @@ -770,10 +772,6 @@ (or (getp sym2 '##core#primitive) sym2))))) (else (mrename sym)))) -(define (##sys#register-interface name exps) - ;; expects exps to be stripped and validated - (putp name '##core#interface exps)) - (define (##sys#validate-exports exps loc) ;; expects "exps" to be stripped (define (err . args) @@ -833,7 +831,7 @@ (let ((exps (cdr p)) (alias (caar p)) (mname (chicken.internal#library-id (cadar p)))) - (##sys#match-functor-argument alias name mname exps fname) + (match-functor-argument alias name mname exps fname) (cons (list alias mname) (loop2 (cdr fas)))) ;; no default argument, we have too few argument modules (merr)))))) @@ -847,7 +845,7 @@ (def? (pair? p1)) (alias (if def? (car p1) p1)) (mname (chicken.internal#library-id (car as)))) - (##sys#match-functor-argument alias name mname exps fname) + (match-functor-argument alias name mname exps fname) (cons (list alias mname) (loop (cdr as) (cdr fas))))))) (##core#module @@ -855,7 +853,7 @@ ,(if (eq? '* exports) #t exports) ,@body))))) -(define (##sys#match-functor-argument alias name mname exps fname) +(define (match-functor-argument alias name mname exps fname) (let ((mod (##sys#find-module (##sys#resolve-module-name mname 'module) #t 'module))) (unless (eq? exps '*) (let ((missing '())) @@ -942,6 +940,6 @@ (register-feature! 'module-environments) (define (module-environment mname #!optional (ename mname)) - (let* ((mod (##sys#find-module/import-library mname 'module-environment)) + (let* ((mod (find-module/import-library mname 'module-environment)) (saved (module-saved-environments mod))) (##sys#make-structure 'environment ename (car saved) #t)))Trap