hw-dsv-0.3.8: app/App/Data/List.hs
{-# LANGUAGE TupleSections #-}
module App.Data.List
( splitOn
) where
splitOn :: Eq a => a -> [a] -> [[a]]
splitOn _ [] = []
splitOn a xs = cons $ case break (== a) xs of
(l, ys) -> (l, ) $ case ys of
[] -> []
_:zs -> splitOn a zs
where cons ~(h, t) = h : t