guard package:ghc-lib-parser

Guard Located Statement
Guard Statement
f p { | e1 = e2
| e3 = e4 }
where ds
A value bound by a pattern guard must have a fixed runtime representation. Test cases: none.
Arguments to a guard in a monad comprehension must have a fixed runtime representation. Test case: RepPolyMcGuard.
Guards of pattern bindings, e.g., (Just b) | Just _ <- x = e | otherwise = e'
Pattern guard for specified thing