@@ -1,7 +1,9 @@
3import System
3import System
4import Effect.Random
5import Effect.Random
7insert : Ord a => a -> Vect n a -> Vect (S n) a
9insert : Ord a => a -> Vect n a -> Vect (S n) a
@@ -12,13 +14,12 @@ vsort : Ord a => Vect n a -> Vect n a
12vsort [] = []
14vsort [] = []
13vsort (x :: xs) = insert x (vsort xs)
15vsort (x :: xs) = insert x (vsort xs)
15−mkSortVec : (n : Nat) -> Eff m [RND] (Vect n Int)
17+mkSortVec : (n : Nat) -> Eff (Vect n Int) [RND]
16mkSortVec Z = return []
18mkSortVec Z = return []
17mkSortVec (S k) = return (fromInteger !(rndInt 0 10000) :: !(mkSortVec k))
19mkSortVec (S k) = return (fromInteger !(rndInt 0 10000) :: !(mkSortVec k))
19main : IO ()
21main : IO ()
20main = do (_ :: arg :: _) <- getArgs
22main = do (_ :: arg :: _) <- getArgs
22− let vec = runPure [123456789] (mkSortVec (fromInteger (cast arg)))
23+ let vec = runPure $ (srand 123456789 *> mkSortVec (fromInteger (cast arg)))
23 putStrLn "Made vector"
24 putStrLn "Made vector"
24 printLn (vsort vec)
25 printLn (vsort vec)