Joel J. Adamson wrote:
Just to clarify, you're suggesting I use the Snow system _as a module system_? That I write my libraries as Snow packages, etc?
I have not yet written any Snow package yet, so I can't tell how well that works for development (as opposed to distribution).
Of course you could wait a week or two until I've got an updated chjmodule out the door and use that, but you might need to wait a bit more until you can seemlessly load Snow packages from chjmodules (not sure yet what it needs). And at the moment my intent with chjmodule is implementing features and not stability, and this might sometimes mean having to make incompatible changes--in any case, as long as it isn't being discussed (other than leading monologues with myself), I'll just go the path of the least resistance which means that I will just care about not breaking too many of my own modules, or otherwise write converters for their migration.
Whereas Snow may take backwards compatibility serious, so if you're looking for that, it may give you a better service; although I don't know how it can handle the mentioned define-macro namespacing issue, for example. If you want the simplest and most stable approach and don't care about portability right now, you might also just use Gambit namespaces directly; maybe writing a converter to (a future version of) Snow at some point is a fun experience after all for someone.
Christian.