on master help sign in
Fix sortvec benchmark compile time issues
ec4eab3Paul Koerbitz
benchmarks/trivial/sortvec.idr+4−3
@@ -1,7 +1,9 @@
1module Main
1module Main
2
2
3import System
3import System
4+import Effects
4import Effect.Random
5import Effect.Random
6+import Data.Vect
5
7
6total
8total
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)
14
16
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))
18
20
19main : IO ()
21main : IO ()
20main = do (_ :: arg :: _) <- getArgs
22main = do (_ :: arg :: _) <- getArgs
21−-- let arg = "2000"
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)