{- https://gist.github.com/masquerade0324/68f4f3fd3ab897fbe1ad http://files.farka.eu/pub/AC21007/lec5.pdf -} import System.Random bs xs 0 = xs bs (x:y:ys) n = if x IO([Int]) randomList 0 = return [] randomList n = do r <- randomRIO (1,10000) rs <- randomList (n-1) return (r:rs) validation [] = True validation (x:xs) = validation_cons x xs validation_cons x [] = True validation_cons x (y:ys) = if x<=y then validation_cons y ys else False main = do list <- randomList 20000 let sorted = bsort list print (validation sorted)