chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Exporting proc and macro that references it?


From: Alejandro Forero Cuervo
Subject: Re: [Chicken-users] Exporting proc and macro that references it?
Date: Mon, 5 Jul 2010 13:59:13 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

> I didn't get the error you're getting, but I think what you need is this
> section from the manual:
> 
> [snip]
> 
> In other words, do (module embedded-test ((test register)) ...)
> 
> I think it worked because the code you pasted in the mail also exported
> REGISTER, which your real code perhaps does not?

Hm, very strange.

I'm literally testing with this (after your suggestion):

  (module embedded-test ((test register) register)
  (import chicken scheme)

  (define (register) #f)
  (define-syntax test (syntax-rules () ((test) (register))))
  )

The setup file does this:

  /opt/chicken-4.5.0/bin/csi -bnq -setup-mode -e "(require-library setup-api)" 
-e "(import setup-api)" -e "(extension-name-and-version '(\"embedded-test\" 
\"\"))" embedded-test.setup
  /opt/chicken-4.5.0/bin/csc -feature compiling-extension -setup-mode    -O2 
-d1 -s embedded-test.scm -j embedded-test
  /opt/chicken-4.5.0/bin/csc -feature compiling-extension -setup-mode    -O2 
-d1 -c embedded-test.scm -unit embedded-test
  /opt/chicken-4.5.0/bin/csc -feature compiling-extension -setup-mode    -O2 
-d0 -s embedded-test.import.scm
  cp -r embedded-test.o /opt/chicken-4.5.0/lib/chicken/5/embedded-test.o
  chmod a+r /opt/chicken-4.5.0/lib/chicken/5/embedded-test.o
  rm -fr /opt/chicken-4.5.0/lib/chicken/5/embedded-test.import.so
  cp -r embedded-test.import.so 
/opt/chicken-4.5.0/lib/chicken/5/embedded-test.import.so
  chmod a+r /opt/chicken-4.5.0/lib/chicken/5/embedded-test.import.so
  rm -fr /opt/chicken-4.5.0/lib/chicken/5/embedded-test.so
  cp -r embedded-test.so /opt/chicken-4.5.0/lib/chicken/5/embedded-test.so
  chmod a+r /opt/chicken-4.5.0/lib/chicken/5/embedded-test.so
  chmod a+r /opt/chicken-4.5.0/lib/chicken/5/embedded-test.setup-info

The generated embedded-test.import.scm has this:

  (eval '(import chicken scheme))
  (##sys#register-compiled-module
    'embedded-test
    (list '(register . embedded-test#register))
    '((register . embedded-test#register))
    (list (cons 'test (syntax-rules () ((test) (register)))))
    (list))

And yet, /opt/chicken-4.5.0/bin/csc test.scm && ./test yields the error I
quoted. :-/  Are you using 4.5.0?

Thanks a lot for your help!

Alejo.
http://azul.freaks-unidos.net/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]