[scheme-reports-wg1] Re: [r6rs-discuss] [scheme-reports] Scheme pattern matching & R*RS David Rush (21 Jan 2011 23:48 UTC)
Re: [Scheme-reports] Scheme pattern matching & R*RS Aaron W. Hsu (22 Jan 2011 04:03 UTC)

[scheme-reports-wg1] Re: [r6rs-discuss] [scheme-reports] Scheme pattern matching & R*RS David Rush 21 Jan 2011 23:48 UTC

On 21 January 2011 14:57, John Cowan <cowan@mercury.ccil.org> wrote:
> David Rush scripsit:
>
>> Given the wide variety of things that get affected by pattern
>> matching, while I admit that this is possible, I don't think it is
>> advisable. Pattern matching is a powerfully expressive mechanism - if
>> we are going to have it we should properly percolate its power all the
>> way through the language.
>
> You are making the best the enemy of the good,

Yes I am, because once it gets out as a part of the standard, further
innovation and improvement will be jeopardized by the existence of
legacy code. This is a really big deal given how many issues in Scheme
currently exist precisely for backwards compatibility reasons.

Really, I would rather do this thing with deep integration, in WG1,
and do it in R7RS - even pushing out our deadlines - than get tied
into a large legacy code base.

>> Are we really willing to go here? I'd be up for it, but I thought that
>> the community was shying away from radical changes through
>> standardization, and that deep innovation in the Scheme community was
>> supposed to be led by implementations.
>
> Quite so, for WG1.  WG2 tracks implementations where they exist,
> and attempts to provide them where they don't.  This is a case where
> implementations exist; all I've done is relabel them, which in a language
> with modules is a fairly trivial thing to do.

That would seem an argument to *avoid* name overloading through the
module system. I would be happier with it if pattern-match was left as
an obvious bolt-on, rather than presented as something that is
approaching a finished product.

david
--
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt