{-# OPTIONS_GHC -F -pgmFhsx2hs #-} {-# LANGUAGE RegularPatterns #-} module RegularPatterns where f :: [Int] -> [[Int]] f [0+!, b+, 1?, (| 2, 3 |)] = [b] f [1+, (| x | x `mod` 2 == 0 |)] = [[x]] f [2, a@(| b@:_, _ |)*] = b : a f _ = []