module Autolib.Util.Splits where import Data.List (inits, tails) splits :: [a] -> [ ([a],[a]) ] splits :: forall a. [a] -> [([a], [a])] splits [a] w = [[a]] -> [[a]] -> [([a], [a])] forall a b. [a] -> [b] -> [(a, b)] zip ( [a] -> [[a]] forall a. [a] -> [[a]] inits [a] w ) ( [a] -> [[a]] forall a. [a] -> [[a]] tails [a] w )