System.Random.StdGenを調べて、このコードをソースで確認しました。
data StdGen = StdGen Int32 Int32
モジュールはStdGenもエクスポートしているようです。
module System.Random (
RandomGen(next, split, genRange)
, StdGen
...
ただし、コードでこれを実行できないのはなぜですか。
Prelude System.Random> StdGen 1 2
Not in scope: data constructor `System.Random.StdGen'**
一方、私はこれを行うことができます、
module F (Foo) where
import GHC.Int
data Foo = Foo GHC.Int.Int32 GHC.Int.Int32 deriving (Show)
と
Prelude> Foo 1 2
Foo 1 2
このデータコンストラクタが実際にどのように隠されているか教えていただけませんか?