Split on the given sublist. Equivalent to split . dropDelims .
onSublist. For example:
>>> splitOn (BV.fromList "..") (BV.fromList "a..b...c....d..")
["a","b",".c","","d",""]
In some parsing combinator frameworks this is also known as sepBy.
Note that this is the right inverse of the intercalate function from
Data.List, that is,
> \xs -> (intercalate xs . splitOn xs) === id
splitOn x . intercalate x is the identity on certain lists, but it is
tricky to state the precise conditions under which this holds. (For
example, it is not enough to say that x does not occur in any elements
of the input list. Working out why is left as an exercise for the
reader.)