Use TypeOperators for pattern synonyms?
With the language setting -XTypeOperators
, I can use varsym expressions, like <|
, as type constructors. I would expect that we would then also be able to use them as pattern synonyms; but we can't. This is a request for that to become possible.
{-# LANGUAGE TypeOperators, PatternSynonyms #-}
module Main where
pattern (<|) x xs = Just (x, xs)
main = case Just (1, [2,3]) of { Nothing -> putStrLn "Nothing"; y <| ys -> print y }
gives a parse error.
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | low |
Resolution | Unresolved |
Component | Compiler (Parser) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |