replae module->compiled-module-expression with module->imports and module->exports

svn: r17588

original commit: 349c15d47824d83cb08a2b2a8239062848b85503
This commit is contained in:
Matthew Flatt 2010-01-09 14:42:18 +00:00
parent 3573c015f8
commit 579ffacc83

View File

@ -17,8 +17,8 @@
(module-path-index-join name
(module-path-index-rejoin base rel-to))])))
(define (try thunk)
(with-handlers ([exn:fail? (lambda (exn) #f)])
(define (try thunk fail-thunk)
(with-handlers* ([exn:fail? (lambda (exn) (fail-thunk))])
(thunk)))
(define (find-scheme-tag part ri stx/binding phase-level)
@ -110,21 +110,20 @@
rmp
(lambda ()
(let-values ([(valss stxess)
(let ([exp
(or
(try
(lambda ()
;; First, try using bytecode:
(get-module-code (resolved-module-path-name rmp)
#:choose (lambda (src zo so) 'zo))))
(try
(lambda ()
;; Bytecode not available. Declaration in the
;; current namespace?
(module->compiled-module-expression rmp))))])
(if exp
(module-compiled-exports exp)
(values null null)))])
(try
(lambda ()
;; First, try using bytecode:
(module-compiled-exports
(get-module-code (resolved-module-path-name rmp)
#:choose (lambda (src zo so) 'zo))))
(lambda ()
(try
(lambda ()
;; Bytecode not available. Declaration in the
;; current namespace?
(module->exports rmp))
(lambda ()
(values null null)))))])
(let ([t
;; Merge the two association lists:
(let loop ([base valss]