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