Is there a function \x -> (x, x) in standard libraries?

Andreas Abel andreas.abel at ifi.lmu.de
Wed Jul 17 11:26:30 UTC 2019


On 2019-07-16 23:21, Dan Burton wrote:
> +1 for "dup", if it is to be included at all.

Same here.  --Andreas

> On Tue, Jul 16, 2019 at 12:56 PM Vladislav Zavialov 
> <vladislav at serokell.io <mailto:vladislav at serokell.io>> wrote:
> 
>     It is reasonably common. I have grepped Hackage using
>     https://codesearch.aelve.com/haskell/ and
> 
>     * \x->(x,x) occurs 203 times
>     * join (,) occurs 53 times
>     * id &&& id occurs 22 times
> 
>     It also pops up in discussions as a counter-example of a linear
>     function:
> 
>     dup :: a ->. (a,a)
>     dup x = (x,x)  -- does not typecheck with -XLinearTypes!
> 
>     I think it should be added under the name "dup" (short for “duplicate”).
> 
>     - Vlad
> 
>      > On 16 Jul 2019, at 22:29, Lennart Augustsson
>     <lennart at augustsson.net <mailto:lennart at augustsson.net>> wrote:
>      >
>      > It's not harmful, but is it common enough to have a name?
>      >
>      > On Tue, Jul 16, 2019, 12:28 Ignat Insarov <kindaro at gmail.com
>     <mailto:kindaro at gmail.com>> wrote:
>      > So, it is not considered harmful. Then I propose we add it to
>      > Data.Tuple under a humane name.
>      >
>      > On Tue, 16 Jul 2019 at 19:41, Lennart Augustsson
>     <lennart at augustsson.net <mailto:lennart at augustsson.net>> wrote:
>      > >
>      > > Or 'join (,)'
>      > >
>      > > On Tue, Jul 16, 2019, 09:26 Zemyla <zemyla at gmail.com
>     <mailto:zemyla at gmail.com>> wrote:
>      > >>
>      > >> id &&& id
>      > >>
>      > >> On Tue, Jul 16, 2019, 10:58 Ignat Insarov <kindaro at gmail.com
>     <mailto:kindaro at gmail.com>> wrote:
>      > >>>
>      > >>> Hello.
>      > >>>
>      > >>> I wonder if there is a function like \x -> (x, x) in the
>     standard libraries.
>      > >>>
>      > >>> I looked up in Hoogle. It gave me links:
>      > >>>
>      > >>> 1.
>     https://hackage.haskell.org/package/utility-ht/docs/Data-Tuple-HT.html#v:double
>      > >>> 2.
>     https://hackage.haskell.org/package/extra/docs/Data-Tuple-Extra.html#v:dupe
>      > >>> 3.
>     https://hackage.haskell.org/package/relude/docs/Relude-Extra-Tuple.html#v:dupe
>      > >>>
>      > >>> None of these is to the standard library. I wonder if there is an
>      > >>> intentional omission for some important reason? If not, I
>     think this
>      > >>> function should be added to Data.Tuple.
>      > >>>
>      > >>> I know some of the persons that make decisions here like Category
>      > >>> theory, so I point out this function is mentioned in
>     Categories for
>      > >>> the Working Mathematician, as δ, the diagonal function, on page 3
>      > >>> (second edition), although set with angular brackets.
>      > >>>
>      > >>> Have a great day.
>      > >>> _______________________________________________
>      > >>> Libraries mailing list
>      > >>> Libraries at haskell.org <mailto:Libraries at haskell.org>
>      > >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>      > >>
>      > >> _______________________________________________
>      > >> Libraries mailing list
>      > >> Libraries at haskell.org <mailto:Libraries at haskell.org>
>      > >> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>      > _______________________________________________
>      > Libraries mailing list
>      > Libraries at haskell.org <mailto:Libraries at haskell.org>
>      > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> 
>     _______________________________________________
>     Libraries mailing list
>     Libraries at haskell.org <mailto:Libraries at haskell.org>
>     http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> 
> 
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> 


More information about the Libraries mailing list