
Hi all, This works fine, as expected
f :: (Num a, Random a) => Int -> [a] f = randomRs (0,1).mkStdGen
If I skip the type signature, though, I get the following error messages: Main.hs:14: Ambiguous type variable(s) `a' in the constraint `Random a' arising from use of `randomRs' at Main.hs:14 In the first argument of `(.)', namely `randomRs (0, 1)' In the definition of `f': (randomRs (0, 1)) . mkStdGen Main.hs:14: Ambiguous type variable(s) `a' in the constraint `Num a' arising from the literal `1' at Main.hs:14 In the first argument of `randomRs', namely `(0, 1)' In the first argument of `(.)', namely `randomRs (0, 1)' Why exctly can't ghci figure how the type of f? This just happens when loading the code from a file,
:t randomRs (0,1).mkStdGen in ghci works fine.
J.A.