Proposal: Deprecate ExistentialQuantification
Stefan Holdermans
stefan at cs.uu.nl
Sun Jun 28 06:47:28 EDT 2009
Niklas,
> I am opposed since
> a) it requires the addition of extra syntax to the language, and
> b) we have another, better, way to do it.
>
> Somewhat pointed, I don't think the C++ way of putting all imaginable
> ways to do the same thing into the language is a sound design
> principle. If we have two ways to do the same thing, and one of them
> is considered prefered, then I see no reason at all to keep the other
> around. What I'm arguing here is that the GADT style syntax is truly
> preferable, and thus the other should be removed.
I agree. But ;-) since it's obvious not possible to get rid of the
classic syntax completely, I see no harm in having it support
existentials and GADTs as well. In an ideal word, in which there
wasn't a single Haskell program written yet, I'd indeed like to throw
the classic syntax out altogether.
Cheers,
Stefan
On Jun 28, 2009, at 12:32 PM, Niklas Broberg wrote:
>>> In other words, in your 2x3 grid of syntactic x expressiveness, I
>>> want
>>> the two points corresponding to classic syntax x {existential
>>> quantification, GADTs} to be removed from the language. My second
>>> semi-proposal also makes each of the three points corresponding to
>>> the
>>> new cool syntax a separate extension.
>>
>> I see, but why are you opposed to have the classic syntax still
>> support
>> existentials (though foralls) and GADTs (through equality
>> constraints). I
>> would make sense to me to keep this support around.
>
> I am opposed since
> a) it requires the addition of extra syntax to the language, and
> b) we have another, better, way to do it.
>
> Somewhat pointed, I don't think the C++ way of putting all imaginable
> ways to do the same thing into the language is a sound design
> principle. If we have two ways to do the same thing, and one of them
> is considered prefered, then I see no reason at all to keep the other
> around. What I'm arguing here is that the GADT style syntax is truly
> preferable, and thus the other should be removed.
>
> Cheers,
>
> /Niklas
More information about the Haskell-prime
mailing list