乱数のリストを作成する関数を書きたいのですが、ここにコードが書かれています
buildlist :: Int -> Int -> [Int]
buildlist n m = do
seed <- getStdGen
let l = randomRs (0, m) seed
let list = take n l
return list
そしてエラー
Couldn't match expected type `[t0]' with actual type `IO StdGen'
In a stmt of a 'do' block: seed <- getStdGen
In the expression:
do { seed <- getStdGen;
let l = randomRs ... seed;
let list = take n l;
return list }
In an equation for `buildlist':
buildlist n m
= do { seed <- getStdGen;
let l = ...;
let list = ...;
.... }
ps.haskell は c、java、ruby とはかなり違うので、コーディングを学ぶのに神経質になっているように感じます。