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
