Email list hosting service & mailing list manager

Incompatibility with pattern matching Andre van Tonder (19 Sep 2005 14:02 UTC)
Re: Incompatibility with pattern matching Michael Sperber (20 Sep 2005 10:36 UTC)
Re: Incompatibility with pattern matching Andre van Tonder (20 Sep 2005 15:46 UTC)
Re: Incompatibility with pattern matching Michael Sperber (20 Sep 2005 16:04 UTC)
Re: Incompatibility with pattern matching Marcin 'Qrczak' Kowalczyk (20 Sep 2005 12:02 UTC)

Re: Incompatibility with pattern matching Andre van Tonder 20 Sep 2005 15:46 UTC

On Tue, 20 Sep 2005, Michael Sperber wrote:

> Andre van Tonder <xxxxxx@now.het.brown.edu> writes:
>
>> It seems that the constructor paradigm chosen in the draft does not easily
>> accommodate future extensions for pattern matching.  The problem is that a
>> constructor can be many to one.  E.g., in
>>
>>   (define-type foo (x y)
>>     (fields a immutable (+ x y)))
>>
>> we cannot automatically generate a pattern that can be used (like in MzScheme):
>>
>>   (match (make-foo 1 2)
>>    ((make-foo x y) .....))
>
> This is true as far as pattern matching by position is concerned.  I
> personally think this is a good thing, as pattern matching by position
> scales very poorly.

I agree that it scales poorly, but the same objection arguably applies to
/constructors/ (and parents) with positional arguments, yet these are built
into the basic syntax.

Cheers
Andre