On 1/23/07, Abdulaziz Ghuloum <[EMAIL PROTECTED]> wrote:

Both ikarus and chez can batch-compile as well (the procedure compile-
file
does what it's name suggests).  In the running scenario, "pfn.scm"
can be
compiled to the binary file "pfn.so" which contains both the compile-
time
and run-time bindings of "pfn.scm" (with procedural macros, you need
both
anyways).  So, we should load "pfn.so" before compiling "weird.scm" to
"weird.so" (to initialize the compile-time bindings).  We also need
to load
"pfn.so" before loading "weird.so" (to initialize the run-time
bindings).


** I see how this could be hard if you cannot load extensions into
the compiler.  Chicken can load ".so" files at compile time, no? **


It's fundamentally wrong to put compile-time and run-time code into
the same binary. The run-time part It may be compiled for a different OS,
a different architecture or a different binary format. The run-time part may
link to libraries that are not available on the host system, it may invoke
code that can is not intended to run (ctors) at compile-time.

True, these are issues that are traditionally ignored in most implementations.


cheers,
felix


_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to