
#13778: explicitly bidirectional patterns should not report Recursive definition" when used in view pattern expression position -------------------------------------+------------------------------------- Reporter: heisenbug | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.3 Resolution: | Keywords: | PatternSynonyms Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj):
adding a type signature won't make the error go away
I didn't claim that it would! But you give me an idea. If you wrote a pattern signature: {{{ pattern One :: Num a => a pattern One <- ((==One) -> True) where One = 1 }}} then I think we could soundly suppress the check, without messing up the architecture above. Hmm. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13778#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler