In Squeak SequenceableCollection>>permutationsDo: will apply a block to each permutation of a collection. I assume it is also in Pharo.
I have a package CombinatorialGeneration that implements a number of combinatorial generation algorithms. I use it for generating large numbers of test cases. It's about a man month of work from being ready to release. Then, based on feedback, I will likely have more work to do before it is production ready. It uses some code that as far as I know is not supported in Pharo including the generators code added by Andreas (? Sorry I forget his last name but it is a short name). Hope that helps. Ralph Boland
