-- ghci
GHCi, version 8.4.3: http://www.haskell.org/ghc/ :? for help
Prelude> :set -XPatternSynonyms
Prelude> pattern Single x <- [x]
Prelude> pattern Pair x y <- [x, y]
Prelude>
Prelude> f [] = 0
Prelude> f (Single True) = 1
Prelude> f (Single False) = 2
Prelude> f (Pair _ _) = 3
Prelude> f (_:_:_) = 4
Prelude> f []
*** Exception: <interactive>:9:1-20: Non-exhaustive patterns in function f
Можно на одной строке через ; написать все случаи, но лучше в отдельный файл перенести, да
Обсуждают сегодня