On 5/9/06, Dan <[EMAIL PROTECTED]> wrote:
Hi, a few more things I find unexplainable below;
again, the source files are
;; mod1.scm
(module mod1 (f1)
(define (f1 x) x))
;; x.scm
(require 'mod1) (import mod1)
(display f1) (newline)
(define (f2 x) x)
(repl)
csc -R syntax-case -sv mod1.scm
csc -R syntax-case -v x.scm
1) mv mod1.so /tmp
./x
Error: (module) during expansion of (module ...) -
modules are not supported
Call history:
require <--
require (and it's family) will find the mod1.scm instead and
will try to eval it (with the default low-level/non-syntax-case
expander).
2) # with mod1.so in current dir
mv mod1.scm /tmp
csi x.scm
; loading /opt/chicken/lib/chicken/syntax-case.so ...
; loading
/opt/chicken/lib/chicken/syntax-case-chicken-macros.scm
...
; loading x.scm ...
; loading ./mod1.so ...
; visiting mod1.so ...
Error: illegal character in line 5: #\{
import needs source code to figure out syntax-definitiions,
so it'll need mod1.scm somewhere in your include path,
or in the repository.
3) # with mod1.so, mod1.scm in current dir
csi
#;1> (require 'mod1)
; loading ./mod1.so ...
#;2> (import mod1)
; visiting mod1.scm ...
Why is the source "visited" if the .so library is
available?
To extract syntax and module definitions, which are not compiled
into the .so.
cheers,
felix
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users