[GHC] #13042: Allow type annotations / visible type application in pattern synonyms
GHC
ghc-devs at haskell.org
Thu Dec 29 22:39:36 UTC 2016
#13042: Allow type annotations / visible type application in pattern synonyms
-------------------------------------+-------------------------------------
Reporter: Iceland_jack | Owner:
Type: feature | Status: new
request |
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Keywords: | Operating System: Unknown/Multiple
TypeApplications, PatternSynonyms |
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
{{{#!hs
data Lift f a = Pure a | Other (f a)
data V0 a
}}}
To make a pattern synonym for `a -> Lift V0 a` I would like to be able to
write either
{{{#!hs
pattern A a = Pure @V0 a
}}}
or
{{{#!hs
pattern B a = (Pure :: _ -> _ V0 _) a
}}}
to be equivalent to
{{{#!hs
pattern C :: a -> Lift V0 a
pattern C a = Pure a
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13042>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list