関数型プログラミング言語Haskell Part11
■ このスレッドは過去ログ倉庫に格納されています
0360デフォルトの名無しさん
2009/12/22(火) 18:51:59うん
listToGeneratorの結果のGenerator (Generator T)は毎回異なる必要がないので、関数でおk
>・その関数は参照透明にならないかもしれない
Haskellの関数は基本的に全部参照透明だよ。もちろんlistToGeneratorも参照透明
参照透明じゃない関数はunsafePerformIOを直接間接に使うくらいしか書く方法がないし、滅多に書かない
特に理由がなければ関数は参照透明だと仮定して議論しても問題ないと思う
>>355でもほとんど同じことを言ってるけど、listToGenerator :: [a] -> IO (IO a)は同じ[a]を与えられたら常に同じIO (IO a)を返す
>・ちゃんと参照透明になっているかどうか、型推論では推論できない
「型推論では推論できない」ってのは、「型を見ただけでは判定できない」って意味?
それなら上で答えたとおり、特に理由がなければ参照透明とみなす
ついでに言うと、「型推論」ってのは、明示的に型が書かれていない式や変数の型を計算することね
■ このスレッドは過去ログ倉庫に格納されています