I'm looking for a function [a] -> [[[a]]] that will partition a list into
non-empty pieces in all possible ways.
For example
f [1,2,3,4] = [[[1],[2],[3],[4]], [[1],[2],[3,4]], [[1],[2,3],[4]],
[[1],[2,3,4]], [[1,2],[3],[4]], [[1,2],[3,4]], [[1,2,3],[4]], [[1,2,3,4]]]
Perhaps this is a well-known function to experts, but not to me. Hoogle
doesn't seem to have anything with this signature.
Thanks,
Jack