[r6rs-discuss] comment and vote (if allowed) (Elf)

Jon Wilson j85wilson at fastmail.fm
Fri Aug 24 13:14:14 EDT 2007

Matthias Felleisen wrote:
>> On 8/24/07, Elf <elf at ephemeral.net> wrote:
>>> find some module
>>> or library system similar to all existing ones, and give it  
>>> sufficient power
>>> to allow implementations to export their differences as modules  
>>> includable by
>>> others.
> On Aug 24, 2007, at 12:00 PM, Elf wrote:
>> i am not saying that this was not the goal, i am saying that this  
>> goal was
>> not met.
> Since you appear to believe that it is possible to design such a module
> system after the editors appear to have spent a serious amount of time
> investigating this question, I think the burden on proof is on you.
> To do so, I would expect that you demonstrate your belief with two
> actions:
>   -- design a module system all the way thru (may require a prototype)
>   -- validate with three distinct and unrelated implementations that
>      your criteria can be met
> I am looking forward to your completed counter-argument. Until then
> I (and probably others) must consider your criticism non-constructive
I would take Elf's criticism in two parts.  First, the claim that a 
module system *similar to existing ones* (perhaps eliding the word 
"all", as that may well be too strong) should be found, and second, the 
claim that it should be powerful enough to allow implementations to 
export their extensions to the standard.

I think that the second claim is clearly not satisfiable.  One 
implementation might be written to run on Linux, and provide an 
extension which allows access to a particular Linux system call.  
Another implementation might be written to run on ITS, which would not 
have that Linux system call at all.  I suppose that the Linux 
implementation could, in theory, provide an emulation of the action of 
that system call, if necessary, an emulation of an entire Linux 
environment, but this is a non-starter.  There is no reasonable way for 
an implementation which allows access to low-level details of its host 
system to export that access.

A reduced version of the second claim might be satisfiable, that is, 
that the module system should be powerful enough to allow 
implementations to export any extensions that can be reasonably 
exported.  I think this is satisfiable, and is likely satisfied.

The first claim, otoh, is satisfiable.  Most of the existing module 
systems are fairly similar to one another.  The r5.97rs module system is 
not much like any of them.  Unless there is a fundamental manner in 
which all the existing module systems are broken, ignoring and 
undermining work that has already been done on module systems is 
foolish.  Avoidance of gratuitous incompatibility should have been one 
of the guiding principles of the committee, but it seems not to have been.
Jon Wilson

More information about the r6rs-discuss mailing list