Re: problems with rationale & design felix 23 Jun 2004 07:28 UTC

xxxxxx@autodrip.bloodandcoffee.net wrote:

>
>>           Yor argument looks somewhat artifical: by proposing
>>a feature that Scheme48 can not implement you accuse me of
>>"alienating certain implementations", but on my reply that
>>this implementation may choose to ignore SRFI-55, you accuse
>>me of trying to "fracture" the Scheme community. Yet, this
>>very implementation (Scheme48) chooses to ignore SRFI-0, thus
>>doing exactly that ("fracturing").
>
>
> I can't do anything about SRFI 0, Felix, and Feeley, as far as I know,
> ignored the last few arguments that were made against an embedded
> COND-EXPAND on the SRFI 0 discussion!  The only option for Scheme48 in
> the SRFI 0 case is to ignore it, but since SRFI 55 is not yet set in
> stone, I can still argue against it and attempt to change it.  SRFIs 0
> & 55 _force_ the fracturing: Scheme48 _can't_help_it_; all it _can_ do
> is ignore them.  You're trying to accuse Scheme48 of fracturing itself,
> but _you_ are in fact creating the fracture!

I'm not trying to accuse Scheme48 of anything, I just wanted to show
that the argument of "fracturing" that you brought up can be applied
to Scheme48 (or better, the authors of SRFI-7) just as well.

Remember, it's you who started the whole "fracturing" issue.

>
> SRFI 0 was already in existence, and I believe it was finalized, by the
> time SRFI 7 was submitted.  SRFI 0 worked with many implementations,
> and those implementors who didn't read the discussion archives probably
> found SRFI 7 to be unnecessarily repetitive, _ignoring_ the problems it
> causes with all module systems that have a certain property.

Sure, they are all blind and ignorant. Unfortunately the Scheme community
hasn't more of those bright, foresighted people like you.

>>
>>You forget that implementations have a choice. They may choose to
>>implement SRFI-7 or SRFI-55, according to whatever they prefer.
>>It's you who claims to know The Right Way, and who apparently wants to
>>make that choice for others.
>
>
> I'm not claiming, and I don't think I have in this discussion claimed
> -- aside from mentioning what advantages Scheme48 can gain --, that a
> separate configuration language is inherently better.

Of course you did.

>  But it _does_
> permit _not only_ module systems that use a separate configuration
> language but _also_ module systems that embed module data into Scheme
> code.  REQUIRE does _not_ permit both.  So, to elaborate on the choice:
>
>   - For implementations that use a separate configuration language,
>     there is _only_one_choice_: SRFI 7, or some other configuration
>     language (like the one I pointed out on c.l.scheme recently).

Fine, let them use SRFI-7.

>   - For implementations that embed module data into Scheme code, they
>     can either use SRFI 7 _or_ a REQUIRE mechanism.

Great, the majority uses a REQUIRE mechanism. To increase portability,
SRFI-55 proposes a common mechanism for this.

>
> If you continue with a REQUIRE-like mechanism, the implementations that
> depend on a separate configuration language are _FORCED_ not to support
> the SRFI, but the implementations that already support such a mechanism
> would feel _ENCOURAGED_ to support SRFI 55.  That is a _very_clear_
> fracture that should _not_be_there_.

No, the "fracture" is already there: currently we have SRFI-7 (supported
by very few implementations) and various REQUIRE-like mechanisms.
By standardizing the latter, we can make it at least a little bit
easier to write portably code for the majority of Scheme implementations.

> In this situation, _YOU_ are
> making the choice for all these implementations, and the choice will
> cause a _fracture_!

No, you don't understand.

> (Remember, though: for all those little quick scripts you write, you
> can _still_ use REQUIRE, because your implementation supports it, and
> portability doesn't matter there!  Indeed, if I wanted to save those
> keystrokes while using scsh, I'd use the -o option on the scsh command
> line, which is _even_more_concise_ than REQUIRE!)
>

But that wouldn't be portable across multiple implementations.

Anyway, you haven't convinced me, and by repeating it endlessly and by
abusing your "_" key, you will not convince me in future. So I recommend
you change your strategy or simple accept that you can't do anything
about it, unless you try something new.

cheers,
felix