sep :: (a -> Bool) -> [a] -> [[a]]
sep p = uncurry (:) . foldr (\ x (a,s) -> if p x then ([],a:s) else ((x:a),s) ) ([],[])
sep :: (a -> Bool) -> [a] -> [[a]]
sep p = uncurry (:) . foldr (\ x (a,s) -> if p x then ([],a:s) else ((x:a),s) ) ([],[])
sep p = uncurry (:) . foldr (\ x (a,s) -> if p x then ([],a:s) else ((x:a),s) ) ([],[])