That makes sense. A small question arises from this. I am in the process of writing what, in time, will become a resonably large application. I take it that include is the way to make use of forms in another file. That said what happens when several files include a single other file and are then compiled to native code. Are the forms from that single file duplicated for every include?
Yes. This means that is is best to put syntax declarations in include files and function definitions in .scm files that are "load"ed or linked into an executable after being compiled. The current model is really very close to what is done in C/C++.
This has a bit of impact that I would be interested in being aware of. Also, by extension, is there any more or less accepted way to organize large projects?
The other important mechanism is namespaces. With namespaces you can automatically add a prefix to local names, which is useful to avoid name clashes.
But a complete solution will only come when R6RS modules are implemented...
Marc