<div dir="ltr">It's certainly outside of the mainstream, but it's not going to be part of the prelude. You'll need to import GHC.Prim or GHC.Exts to get a hold of it. For this reason, I'm not too worried about stealing a good name.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 18, 2018 at 3:27 AM, Andreas Abel <span dir="ltr"><<a href="mailto:abela@chalmers.se" target="_blank">abela@chalmers.se</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I deem this feature outside of the mainstream, so it should not occupy a short nice name.<br>
<br>
I suggest  UnaryTuple.<span class=""><br>
<br>
On 18.01.2018 09:22, Simon Peyton Jones via Libraries wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
I quite like Solo.<br>
<br>
Simon<br>
<br></span>
*From:*Libraries [mailto:<a href="mailto:libraries-bounces@haskell.org" target="_blank">libraries-bounces@hask<wbr>ell.org</a>] *On Behalf Of *Theodore Lief Gannon<br>
*Sent:* 18 January 2018 02:42<br>
*To:* Ryan Reich <<a href="mailto:ryan.reich@gmail.com" target="_blank">ryan.reich@gmail.com</a>><br>
*Cc:* Haskell Libraries <<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a>><br>
*Subject:* Re: Name of 1-Tuple Data Type<span class=""><br>
<br>
I've seen Only in the wild, and it's probably my favorite of the initial suggestions for the same reasons as Ryan. Mono is my second pick from that list.<br>
<br>
Id is very clean, but I could see pedagogical issues arising from name confusion. Sing(le(ton)) is a terrible idea for the same reason.<br>
<br>
Venturing my own paint swatch: Solo fits in nicely with the established size-specific names (pair, triple, etc.) and has all the good traits: short, self-explanatory, nothing with a confusingly similar name (that I know of).<br>
<br></span><span class="">
On Jan 17, 2018 4:35 PM, "Ryan Reich" <<a href="mailto:ryan.reich@gmail.com" target="_blank">ryan.reich@gmail.com</a> <mailto:<a href="mailto:ryan.reich@gmail.com" target="_blank">ryan.reich@gmail.com</a>>> wrote:<br>
<br>
    Only has two virtues I can see easily: it's short (shorter than<br>
    almost all the others), and it has the same feel as Maybe.<br>
<br>
    There is also Id, the name of the mathematical function that this<br>
    type (and corresponding data) constructor is. Less pithy but even<br>
    less intrusive.<br>
<br>
    On Jan 17, 2018 15:47, "Andrew Martin" <<a href="mailto:andrew.thaddeus@gmail.com" target="_blank">andrew.thaddeus@gmail.com</a><br></span><span class="">
    <mailto:<a href="mailto:andrew.thaddeus@gmail.com" target="_blank">andrew.thaddeus@gmail.<wbr>com</a>>> wrote:<br>
<br>
        Required background information:<br>
        <a href="https://ghc.haskell.org/trac/ghc/ticket/14673" rel="noreferrer" target="_blank">https://ghc.haskell.org/trac/g<wbr>hc/ticket/14673</a><br>
<br>
        GHC has a one-tuple (both a boxed variant and an unboxed<br>
        variant). The unboxed variant currently must be fully applied<br>
        whenever it is used. This is in stark contrast to all the other<br>
        n-tuples (n > 1). It stems entirely from an issue of syntax. The<br>
        solution decided on is to provide a normal prefix name for the<br>
        1-tuple. The name that GHC uses internally for this type is<br>
        `Unit#` (there is also a boxed variant Unit). However, in the<br>
        haskell community, the word "unit" already refers to the nullary<br>
        tuple, not the unary tuple. So, we're bikeshedding the name.<br>
<br>
        Here are some possible options:<br>
<br>
        * Unary (as in unary tuple)<br>
<br>
        * Single (as in single, double, triple)<br>
<br>
        * Singleton (as is singleton, doubleton, tripleton)<br>
<br>
        * Only<br>
        (<a href="https://hackage.haskell.org/package/Only-0.1/docs/Data-Tuple-Only.html" rel="noreferrer" target="_blank">https://hackage.haskell.org/p<wbr>ackage/Only-0.1/docs/Data-Tupl<wbr>e-Only.html</a><br></span>
        <<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhackage.haskell.org%2Fpackage%2FOnly-0.1%2Fdocs%2FData-Tuple-Only.html&data=02%7C01%7Csimonpj%40microsoft.com%7C3db602b14f26474965ff08d55e1d285f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636518401685292292&sdata=fMbHCFU%2Br3JHwmI8a4QgHD26fhoclfklE3xA0O6tCE4%3D&reserved=0" rel="noreferrer" target="_blank">https://na01.safelinks.protec<wbr>tion.outlook.com/?url=https%<wbr>3A%2F%2Fhackage.haskell.org%<wbr>2Fpackage%2FOnly-0.1%2Fdocs%<wbr>2FData-Tuple-Only.html&data=<wbr>02%7C01%7Csimonpj%40microsoft.<wbr>com%7C3db602b14f26474965ff08d5<wbr>5e1d285f%7C72f988bf86f141af91a<wbr>b2d7cd011db47%7C1%7C0%7C636518<wbr>401685292292&sdata=fMbHCFU%2Br<wbr>3JHwmI8a4QgHD26fhoclfklE3xA0O6<wbr>tCE4%3D&reserved=0</a>>)<br>
<br>
        * OneTuple<br>
        (<a href="https://hackage.haskell.org/package/OneTuple-0.2.1/docs/Data-Tuple-OneTuple.html" rel="noreferrer" target="_blank">https://hackage.haskell.org/p<wbr>ackage/OneTuple-0.2.1/docs/Dat<wbr>a-Tuple-OneTuple.html</a><br>
        <<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhackage.haskell.org%2Fpackage%2FOneTuple-0.2.1%2Fdocs%2FData-Tuple-OneTuple.html&data=02%7C01%7Csimonpj%40microsoft.com%7C3db602b14f26474965ff08d55e1d285f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636518401685292292&sdata=rRLW8KJoKT5IQ5Y6s3kMrUOiUGk6xa77zb5VvGuAfGw%3D&reserved=0" rel="noreferrer" target="_blank">https://na01.safelinks.protec<wbr>tion.outlook.com/?url=https%<wbr>3A%2F%2Fhackage.haskell.org%<wbr>2Fpackage%2FOneTuple-0.2.1%<wbr>2Fdocs%2FData-Tuple-OneTuple.<wbr>html&data=02%7C01%7Csimonpj%<wbr>40microsoft.com%7C3db602b14f26<wbr>474965ff08d55e1d285f%7C72f988b<wbr>f86f141af91ab2d7cd011db47%7C1%<wbr>7C0%7C636518401685292292&<wbr>sdata=rRLW8KJoKT5IQ5Y6s3kMrUOi<wbr>UGk6xa77zb5VvGuAfGw%3D&<wbr>reserved=0</a>>)<span class=""><br>
<br>
        * Uni (means "one" in latin or greek or something like that)<br>
<br>
        * Mono (means "one" in latin or greek or something like that)<br>
<br>
        I would appreciate any feedback on the suggestions I provided or<br>
        any additional suggestions for the name. If you have concerns<br>
        about the feature itself, comment on the GHC Trac ticket. I'd<br>
        prefer to keep this thread focused on just the problem of coming<br>
        up with a name.<br>
<br>
        -- <br>
        -Andrew Thaddeus Martin<br>
<br>
        ______________________________<wbr>_________________<br>
        Libraries mailing list<br></span>
        <a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a> <mailto:<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a>><br>
        <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bi<wbr>n/mailman/listinfo/libraries</a><br>
        <<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Flibraries&data=02%7C01%7Csimonpj%40microsoft.com%7C3db602b14f26474965ff08d55e1d285f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636518401685292292&sdata=AytyB%2BhKwE1TDDc8ohTJ9gDcCZgcizoyt8Tmue0u9Zs%3D&reserved=0" rel="noreferrer" target="_blank">https://na01.safelinks.protec<wbr>tion.outlook.com/?url=http%3A%<wbr>2F%2Fmail.haskell.org%2Fcgi-<wbr>bin%2Fmailman%2Flistinfo%<wbr>2Flibraries&data=02%7C01%<wbr>7Csimonpj%40microsoft.com%7C3d<wbr>b602b14f26474965ff08d55e1d285f<wbr>%7C72f988bf86f141af91ab2d7cd01<wbr>1db47%7C1%7C0%7C63651840168529<wbr>2292&sdata=AytyB%2BhKwE1TDDc8o<wbr>hTJ9gDcCZgcizoyt8Tmue0u9Zs%3D&<wbr>reserved=0</a>><br>
<br>
<br>
    ______________________________<wbr>_________________<br>
    Libraries mailing list<br>
    <a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a> <mailto:<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a>><br>
    <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bi<wbr>n/mailman/listinfo/libraries</a><br>
    <<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Flibraries&data=02%7C01%7Csimonpj%40microsoft.com%7C3db602b14f26474965ff08d55e1d285f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636518401685292292&sdata=AytyB%2BhKwE1TDDc8ohTJ9gDcCZgcizoyt8Tmue0u9Zs%3D&reserved=0" rel="noreferrer" target="_blank">https://na01.safelinks.protec<wbr>tion.outlook.com/?url=http%3A%<wbr>2F%2Fmail.haskell.org%2Fcgi-<wbr>bin%2Fmailman%2Flistinfo%<wbr>2Flibraries&data=02%7C01%<wbr>7Csimonpj%40microsoft.com%7C3d<wbr>b602b14f26474965ff08d55e1d285f<wbr>%7C72f988bf86f141af91ab2d7cd01<wbr>1db47%7C1%7C0%7C63651840168529<wbr>2292&sdata=AytyB%2BhKwE1TDDc8o<wbr>hTJ9gDcCZgcizoyt8Tmue0u9Zs%3D&<wbr>reserved=0</a>><span class=""><br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bi<wbr>n/mailman/listinfo/libraries</a><br>
<br>
</span></blockquote>
<br><span class="im HOEnZb">
<br>
-- <br>
Andreas Abel  <><      Du bist der geliebte Mensch.<br>
<br>
Department of Computer Science and Engineering<br>
Chalmers and Gothenburg University, Sweden<br>
<br>
<a href="mailto:andreas.abel@gu.se" target="_blank">andreas.abel@gu.se</a><br>
<a href="http://www.cse.chalmers.se/~abela/" rel="noreferrer" target="_blank">http://www.cse.chalmers.se/~ab<wbr>ela/</a><br></span><div class="HOEnZb"><div class="h5">
______________________________<wbr>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bi<wbr>n/mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">-Andrew Thaddeus Martin</div>
</div>