* exports from the compiler to the next runtime (system) library

now works.
This commit is contained in:
Abdulaziz Ghuloum 2007-05-04 03:00:16 -04:00
parent e568cc87d9
commit a3aef19781
4 changed files with 6 additions and 9 deletions

Binary file not shown.

View File

@ -318,8 +318,7 @@
[b (label->binding label r)]
[type (binding-type b)])
(case type
[(define define-syntax core-macro begin macro
module set!)
[(define define-syntax core-macro begin macro module set!)
(values type (binding-value b) id)]
[else
(values 'call #f #f)]))

View File

@ -16,11 +16,8 @@
;;; Finally, we're ready to evaluate the files and enter the cafe.
(library (ikarus interaction)
(export bar)
(export)
(import (scheme) (ikarus greeting))
(define bar 'i-am-an-exported-primitive-named-foo)
(let-values ([(files script args)
(let f ([args (command-line-arguments)])
(cond

View File

@ -88,7 +88,7 @@
(define-record library (code export-subst export-env))
(define must-export-primitives '(bar))
(define export-as-primitive '())
(define (expand-file filename)
(map (lambda (x)
@ -114,9 +114,10 @@
(lambda (v)
(let ([name (car v)])
(cond
[(memq name must-export-primitives)
[(memq name export-as-primitive)
(cons (cons label (cons 'core-prim name)) r)]
[else r])))]
[else
(cons (cons label (cons 'global val)) r)])))]
[else (error #f "cannot find binding for ~s" x)])]
[else (error #f "cannot handle export for ~s" x)]))))
(let f ([r r])