Is there a library routine for random permutations?
I didn't find any and did a quick hack, which works fine for my application (length of list < 100), but what would be a more elegant way?
Well, sorting is a special case of permuting, so my idea was to use the library routine
List.sortBy :: (a -> a -> Ordering) -> [a] -> [a]
passing it a comparison function which ignores its arguments and simply returns a random bit when invoked, e.g.
permute = sortBy $ \_ _ -> if random() then GT else LT
Unfortunately, this one-line hack is impossible since random numbers rely on state and sortBy is not prepared for use with a monad.
Back in the old days when we had assignments...
--Andreas
-- Andreas Abel --<>-- What if Jesus is right?
Theoretical Computer Science, University of Munich http://www.tcs.informatik.uni-muenchen.de/~abel/
_______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell