[r6rs-discuss] comment and vote (if allowed) (Elf)
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
> 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
> -- 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.
More information about the r6rs-discuss