関数型プログラミング言語Haskell Part27_©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0622デフォルトの名無しさん
2015/02/21(土) 13:01:14.43ID:43YG5tRb> だから遅延評価な関数型言語で(命令型言語の)制御構造を表現するには、
> 何らかの工夫(=小細工)が必要になる
> >>539 で書いたように、(継続を含む)制御構造は純粋だよ
これは、継続(あるいは逐次)が評価順序にセンシティブということであり、
つまりは、継続は純粋ではないということではないの?
それとも、「継続は、>>=によって純粋でないことを明示しているので純粋である」
という変な論法?
> 純粋でないのは制御構造の対象要素であるI/Oや破壊的代入のような命令の部分
命令の部分が純粋でないのはそのとおりだが
> 命令型言語の制御構造は、フローチャートを思い浮かべれば分かるように
> ステートマシン(有限状態機械)としてモデル化できる
> そして良く知られているようにステートマシンは純粋な関数として表現できる
> (純粋な)制御構造と(純粋ではない)命令とをごっちゃにしてはいけない
よくわからん説明だな。
命令型言語の制御構造はステートマシンとしてモデル化できるが、
そのステートマシンは純粋でないものの代表だろ? Stateモナドだってあるくらい。
> 良く知られているようにステートマシンは純粋な関数として表現できる
これ何のこと言ってる?ホントか?
■ このスレッドは過去ログ倉庫に格納されています