The various SSAX egg ports also use 'include'.  The reason is the
source distributions are made up of a bunch of interrelated .scm
files, with a lot of internal procedures that you don't want exported
to the user.  One option is to generate separate .so files and use a
module system to restrict the visible namespace.  Another is to
'include' the source files into one main file and compile everything
into a single .so, exporting only what is necessary.  Given that
there's no "standard" module system for Chicken or R5RS Scheme in
general, I felt the latter was more practical (and it seems to work
fine).  As a bonus, the internal procedures will be treated as block
global without any additional effort on your part.

On 1/10/07, John Cowan <[EMAIL PROTECTED]> wrote:
felix winkelmann scripsit:

> There is currently no simple way to have code that is made up of multiple
> modules, can be compiled into a single binary and at the same time
> can be transparently used in the interpreter (besides using `include').

Not that there's anything wrong with "include".  My q-lang egg has
three source files:  q-lang includes q-utils, which includes q-lolevel.


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

Reply via email to