<div dir="auto">Here's an example:<div dir="auto"><br></div><div dir="auto">pattern State :: (s -> (a, s)) -> State s a</div><div dir="auto">pattern State f <- (coerce . runStateT -> f) where</div><div dir="auto">  State = state</div><div dir="auto"><br></div><div dir="auto">This would be very nice to bundle with the State type synonym.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 16, 2021, 2:22 PM Carter Schonwald <<a href="mailto:carter.schonwald@gmail.com">carter.schonwald@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">These are great ideas! Could you please create a ghc tracker ticket with a tiny examples or two?  </div><div dir="auto"><br></div><div dir="auto">There may be specific technical reasons we might not be able to do so for type synonyms in ghc, but I don’t see any obvious barriers in the case of David’s excellent idea, I’ve def seen lots of great code out there where you’d really want either associated pattern synonyms or to bundle pattern synonyms with the exported public interface for a type class. </div><div dir="auto"><br></div><div dir="auto">I’m sure there’s some devil in the details but these sound lovely.  Step -1 is making up 1-2 toy examples and explaining what and why you want it on a ghc ticket! </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 8, 2021 at 1:25 PM David Feuer <<a href="mailto:david.feuer@gmail.com" target="_blank" rel="noreferrer">david.feuer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">I would like that, along with the ability to bundle patterns with classes.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 8, 2021, 1:13 PM Keith <<a href="mailto:keith.wygant@gmail.com" target="_blank" rel="noreferrer">keith.wygant@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u><div>Is there currently a way to 'bundle' a pattern with a type alias? And if not, could that capability be added to the PatternSynonyms GHC extension?<br>(Is this the right place to ask, or should I be asking a GHC list?)<br><br>--Keith<div style="white-space:pre-wrap">Sent from my phone with K-9 Mail.</div></div>_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div></div>
</blockquote></div>