RosettaCodeData/Task/Random-Latin-squares/Haskell/random-latin-squares-2.hs
2023-07-01 13:44:08 -04:00

5 lines
175 B
Haskell

randomLatinSquare :: Eq a => [a] -> Random [[a]]
randomLatinSquare set = do
r <- randomPermutation set
c <- randomPermutation (tail r)
return $ latinSquare r (head r:c)