ฉันยังใหม่กับ Haskell เหตุใดฉันจึงได้รับข้อความแสดงข้อผิดพลาด
(ไม่สามารถจับคู่ประเภท '[]' กับ 'IO' — Haskell) ในโค้ดต่อไปนี้
โดยหลักแล้วฉันต้องการเพียงเวลาของอัลกอริธึมที่ทำงานโดยไม่มีผลลัพธ์
ต้องการวัดเวลาอัลกอริทึมเท่านั้น
qsort1 :: Ord a => [a] -> [a]
qsort1 [] = []
qsort1 (p:xs) = qsort1 lesser ++ [p] ++ qsort1 greater
where
lesser = [ y | y <- xs, y < p ]
greater = [ y | y <- xs, y >= p ]
main = do
start <- getCurrentTime
qsort1 (take 1000000 $ randomRs (1, 100000) (mkStdGen 42))
end <- getCurrentTime
print (diffUTCTime end start)