<div dir="ltr">I'm indifferent between (2) and (3). I'm still somewhat unconvinced, though. I understand that this is working towards the Syntax Unification principle. But I don't think that the result pays for itself quite yet.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 1, 2022 at 8:45 PM Richard Eisenberg <<a href="mailto:lists@richarde.dev">lists@richarde.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Between (2) and (3), I'm leaning toward (3). I'm not bothered by the loopiness, and it has the nice properties written in the proposal.<br>
<br>
I have also come to lean against (1) at all. Maybe if there's a clamor for it, we can add it later, but I see it as unnecessary. Even if we could make it the primitive definition for tuples (and I bet we could, via data instances), its kind is quite complex and could be a real stumbling block for newcomers and experienced Haskellers alike. For something as fundamental as tuples, I would want to keep the basic definition quite simple.<br>
<br>
Richard<br>
<br>
> On Mar 1, 2022, at 10:10 AM, Joachim Breitner <<a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a>> wrote:<br>
> <br>
> Hi,<br>
> <br>
> Am Montag, dem 28.02.2022 um 22:31 +0300 schrieb Vladislav Zavialov<br>
> (int-index):<br>
>> There’s also a new alternative described in the proposal. Here are our options:<br>
>>  1. TupleN A B C<br>
>>  2. Tuple [A, B, C]<br>
>>  3. Tuple (A, B, C)   — NEW<br>
> <br>
> I am not convinced it’s a good idea to introduce many ways of naming<br>
> the same thing, and given that the above three are already in addition<br>
> to the primitive (Tuple2 Bool Int), (which I’ll call (0) below), we<br>
> need a good justification to have more than one.<br>
> <br>
> Between (2) and (3), I’d prefer (3): The strange loop of tuples<br>
> referring to tuples isn’t too unhaskellish, and if it works better for<br>
> unboxed tuples, then yay!<br>
> <br>
> Between (3) and (1) I am unsure. Presumably, if we didn’t have (3) we’d<br>
> use the less idiosyncratic name `Tuple` for (1)? <br>
> <br>
> Are there other, not purely cosmetic, differences between (1) and (3)?<br>
> Maybe related to partial application?<br>
> <br>
> <br>
> <br>
> It’s a bit sad we can't just have (1) without even needing (0), so that<br>
> there really is only _one_ name that’s reasonably ergonomic. How far<br>
> out would that be? Worth making Haskell good enough to support a nice<br>
> design here? :-)<br>
> <br>
> Cheers,<br>
> Joachim<br>
> -- <br>
> Joachim Breitner<br>
>  <a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><br>
>  <a href="http://www.joachim-breitner.de/" rel="noreferrer" target="_blank">http://www.joachim-breitner.de/</a><br>
> <br>
> _______________________________________________<br>
> ghc-steering-committee mailing list<br>
> <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
> <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
<br>
_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</blockquote></div>