@@ -0,0 +1,24 @@
7+insert : Ord a => a -> Vect n a -> Vect (S n) a
9+insert x (y :: ys) = if (x < y) then x :: y :: ys else y :: insert x ys
11+vsort : Ord a => Vect n a -> Vect n a
13+vsort (x :: xs) = insert x (vsort xs)
15+mkSortVec : (n : Nat) -> Eff m [RND] (Vect n Int)
16+mkSortVec Z = return []
17+mkSortVec (S k) = return (fromInteger !(rndInt 0 10000) :: !(mkSortVec k))
20+main = do (_ :: arg :: _) <- getArgs
21+ let vec = runPure [123456789] (mkSortVec (fromInteger (cast arg)))
22+ putStrLn "Made vector"