[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scheme to C
From: |
Thien-Thi Nguyen |
Subject: |
Re: scheme to C |
Date: |
Mon, 07 Oct 2002 10:08:28 -0700 |
From: Bernard Urban <address@hidden>
Date: 07 Oct 2002 10:39:49 +0200
(I catch this mail in the middle of a vacation, so do not expect a
fast answer if interested in the 1.4.1 sources.)
great news -- i'm glad to be mistaken about hobbit availability for
guile! could you post a pointer to the source?[1] i am interested in
finalizing "hobbit as backend for compiled modules" methodology for
integration into a guile 1.4.x (x > 1) release. the plan is initially
to support command-line operation:
guile-tools modtool compile [options] file.scm [...]
this creates a "compiled module bundle" (exact term to be
decided) comprising some top-level config file and the real
guts in a .modules subdir. the model here is libtool and it's
".la pointing to actual bunch of files/symlinks in .libs"
approach.
options can include "--name MODULE" (for those files
that do not have a define-module form), "--init FUNC" (to
override the defaultly constructed init func name),
guile-tools modtool install BUNDLE DIR
again we use libtool for inspiration here. installation
frobs the top-level config and copies things into place.
guile-tools modtool installcheck DIR/BUNDLE [TEST ...]
now we take inspiration from automake. supporting "check" may
also be possible -- that's a more difficult problem but not
unsolvable (solving it allows us to move to the second phase:
compiler use from repl via "compile-object" or the like). the
installcheck runs the tests (if specified) after having loaded
the module (the degenerate test case).
a sticking point w/ full-circle methodology has been where to install
binary files so that the module system can find them, and yet still
conform to the common practice of separating arch-independent files from
arch-dependent ones. guile 1.4.1.91 (http://www.glug.org/tmp/2002-10/)
adds $pkglibdir/$guileversion to %load-path:
$ guile -c '(for-each write-line %load-path)'
/home/ttn/local/share/guile/site
/home/ttn/local/share/guile/1.4.1.91
/home/ttn/local/share/guile
/home/ttn/local/lib/guile/1.4.1.91 ;; (here)
.
this allows librgx (nee librx) to be loaded as "(modules rgx)" w/o need
for a scheme wrapper. although the same can be used for hobbit-compiled
modules, i'd like to learn about your installation/use discipline to see
how this can be improved. perhaps per-directory registries (a la the
PLUGIN files of yore) are the way to go...
thi
[1] to be mirrored in http://www.glug.org/alt/ -- let me know if
you have any objections to that location.