Welcome to the CHICKEN Scheme pasting service
modules orz pasted by megane on Thu Aug 16 20:30:18 2012
$ csc -J -s m.scm && csc -J -s m2.scm && csc -I . poi.scm && ./poi Error: unbound variable: bar Call history: poi.scm:2: bar <-- ;;;;;;;;;;;;;;;;;;;;;;;;;; exporting bar from m2 manually causes a compilation error Warning: exported identifier of module `m2' has not been defined: bar Error: module unresolved: m2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; File: m2.import.scm ----- ;;;; m2.import.scm - GENERATED BY CHICKEN 4.7.5 -*- Scheme -*- (eval '(import chicken scheme m)) (##sys#register-compiled-module 'm2 (list) '() (list (cons 'baz (ir-macro-transformer (lambda (e i c) `(foo)))) 'foo) (list)) ;; END OF FILE File: m2.scm ----- (module m2 (baz) (import chicken scheme) ;; uncommenting these two does not seem to make difference ;; (use m) ;; (import-for-syntax m) (reexport m) (define-syntax baz (ir-macro-transformer (lambda (e i c) `(foo))))) File: m.import.scm ----- ;;;; m.import.scm - GENERATED BY CHICKEN 4.7.5 -*- Scheme -*- (eval '(import chicken scheme)) (##sys#register-compiled-module 'm (list '(bar . m#bar)) '() (list (cons 'foo (ir-macro-transformer (lambda (e i c) `(bar))))) (list)) ;; END OF FILE File: m.scm ----- (module m ((foo bar)) (import chicken scheme) (define (bar) 1) (define-syntax foo (ir-macro-transformer (lambda (e i c) `(bar))))) File: poi.scm ----- (use m2) (print (baz))
no title pasted by megane on Thu Aug 16 20:58:40 2012
$ bash foo.sh + rm -f m2.so m.so m2.import.scm m.import.scm '*.o' + csc -J -s src/m.scm + csc -J -s src/m2.scm + mv src/m2.so src/m.so . + csc poi.scm + ./poi Error: unbound variable: bar Call history: poi.scm:1: ##sys#require poi.scm:2: bar <--
with csi pasted by megane on Thu Aug 16 21:01:30 2012
; loading poi.scm ... ; loading ./m2.import.scm ... [...] ; loading ./m.import.scm ... ; loading ./m2.so ... Error: unbound variable: bar Call history: <eval> (##sys#register-compiled-module (quote m2) (list) (quote ()) (list (cons (quote baz) (ir-macro-trans...... <eval> (list) <eval> (list (cons (quote baz) (ir-macro-transformer (lambda (e i c) (quasiquote (foo))))) (quote foo)) <eval> (cons (quote baz) (ir-macro-transformer (lambda (e i c) (quasiquote (foo))))) <eval> (ir-macro-transformer (lambda (e i c) (quasiquote (foo)))) <eval> (list) <syntax> (##core#undefined) <syntax> (##core#undefined) <eval> (##sys#require (quote m2)) <syntax> (print (baz)) <syntax> (baz) <eval> (##sys#list (##core#quote foo)) <eval> (##sys#list (##core#quote bar)) <syntax> (bar30) <eval> (print (baz)) <eval> (bar30) <--
no title added by megane on Thu Aug 16 21:07:14 2012
$ bash foo.sh + rm -f m2.so m.so m2.import.scm m.import.scm '*.o' + csc -J -s src/m.scm + mv src/m.so . + csc -I . -J -s src/m2.scm + mv src/m2.so . + csc poi.scm + ./poi 1 Error: unbound variable: bar Call history: poi.scm:1: ##sys#require src/m2.scm:6: ##sys#require src/m2.scm:10: m#bar src/m2.scm:10: print poi.scm:2: bar <--