<div dir="ltr">I'm personally weakly +1 on this. It makes the combination of Arg and Max much more convenient to use and points directly to how to use it without code duplication. The potential downside is using a big scary extension in what will become a fairly mainstream module in 8.4, but I think we can phrase our way around the issue when it comes to the libraries part of Haskell-Prime. <br><br>This opens the door to possibly being smarter about the existing Data.Monoid.First (and Last), encoding them as pattern synonyms for Maybe (Data.Semigroup.First a) (or Last) as well, but we'd likely need to give that a lot more thought / testing.<div><br></div><div>-Edward</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 13, 2017 at 3:22 PM, Baldur Blöndal <span dir="ltr"><<a href="mailto:baldurpet@gmail.com" target="_blank">baldurpet@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto">Add (explicitly-bidirectional record) pattern synonyms to Data.Semigroup:</div><div dir="auto"><br></div><div dir="auto">pattern ArgMin :: a -> b -> ArgMin a b pattern ArgMin {minArg, minValue} = Min (Arg minArg minValue) </div><div dir="auto"><br></div><div dir="auto">pattern ArgMax :: a -> b -> ArgMax a b pattern ArgMax {maxArg, maxValue} = Max (Arg maxArg maxValue)<br></div><div dir="auto"><br></div>As described in <a href="https://ghc.haskell.org/trac/ghc/ticket/13572" target="_blank">https://ghc.haskell.org/trac/<wbr>ghc/ticket/13572</a></div>
<br>______________________________<wbr>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">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-<wbr>bin/mailman/listinfo/libraries</a><br>
<br></blockquote></div><br></div>