Das erste Argument von partition
ist eine Funktion:
-- Spezifikation: partition :: (a -> Bool) -> [a] -> ([a], [a]) -- Benutzung: partition even [1,2,3,4,5] partition ( == 'o' ) "foobar" -- Implementierung: partition p [] = ( [], [] ) partition p (x : xs) = let ( ys, zs ) = partition p xs in if p x then ( x : ys, zs ) else ( ys, x : zs )