[Haskell-cafe] Bundle patterns with type aliases
david.feuer at gmail.com
Thu Sep 16 19:08:45 UTC 2021
Here's an example:
pattern State :: (s -> (a, s)) -> State s a
pattern State f <- (coerce . runStateT -> f) where
State = state
This would be very nice to bundle with the State type synonym.
On Thu, Sep 16, 2021, 2:22 PM Carter Schonwald <carter.schonwald at gmail.com>
> These are great ideas! Could you please create a ghc tracker ticket with a
> tiny examples or two?
> 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.
> 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!
> On Wed, Sep 8, 2021 at 1:25 PM David Feuer <david.feuer at gmail.com> wrote:
>> I would like that, along with the ability to bundle patterns with classes.
>> On Wed, Sep 8, 2021, 1:13 PM Keith <keith.wygant at gmail.com> wrote:
>>> 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?
>>> (Is this the right place to ask, or should I be asking a GHC list?)
>>> Sent from my phone with K-9 Mail.
>>> Haskell-Cafe mailing list
>>> To (un)subscribe, modify options or view archives go to:
>>> Only members subscribed via the mailman list are allowed to post.
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe