Alex Shinn alexshinn@gmail.com writes:
Thanks for your comments. Which part do you think should be a SRFI?
The module system. (As it happens, looking around today I discovered Andre van Tonder's module system spec, which looks (to my superficial eyes) quite similar to yours, and which is formatted as though it is about to be submitted as a SRFI. So it may be that a SRFI module system will soon be in the pipeline anyway.)
There are 3 aspects to Common-Scheme.
The first is the module system. There are in fact people who know much more than I do about module systems working on this. Some day it will be submitted as a SRFI. After intense flame wars, discussion will trail off, and in maybe 6 to 12 months the SRFI will be finalized. Following a period of time after that various implementations may or may not adopt the new system, with or without compatibilty for their existing module systems.
In the meantime you can actually use Common-Scheme right now with a wide variety of implementations. Worse case scenario is 2 years down the line you make a small change to the headers of your code.
You summarize both sides of the argument very well. I know the flame wars are a pain, but I also know from Guile discussions how tricky module systems are, so I suspect they're worth enduring.
To be honest, though, your comment above has made me realize that I'm not yet your target audience. For the next year my plans are Guile-specific, so I can wait for the SRFI. common-module probably does meet the needs of people who can't wait until then, and it will probably also provide a useful starting point for when it comes to implementing an agreed module SRFI in various Scheme implementations.
The third aspect is the peer-to-peer network (which if you've browser only has three modules at the moment, I'm in the process of converting more). An important thing to remember about the Scheme community is its fragmented nature. To embrace, rather than fight, this nature, Common-Schemes module system is decentralized peer-to-peet, and the core of the system itself is all public domain, so no one's in charge, and people are more free to do their own thing and still share their experiments than in any other package management system out there.
This aspect sounds very cool; I need to look more at it.
Regards, Neil