関数型プログラミング言語ML
■ このスレッドは過去ログ倉庫に格納されています
0445デフォルトの名無しさん
NGNG> ラムダ計算は状態の記述ができないから、schemeのset!とかMLの参照へ
> の代入みたいのはモデリングできなくて、命令型なんてほとんど状態
> 変化だから、ほとんどの言語はλ計算モデリングできない。のでは?
> 関数型の枠組だとどうか知らないけど、λには副作用はないと思う。
例えばCPUのエミュレータを作ることを考えるとします。ひとつひとつの命令
の副作用は、命令の実行前のレジスタ、メモリの状態から実行後の状態への関
数としてみることができます。だから、プログラムの実行はそれらをfoldした
ものになります。というぐあいにしてやればλ計算の中でCPUエミュレータが
作れます。
要は副作用の作用が関数的なら、副作用そのものを関数の操作の対象におしこ
めて、一つのおっきな関数をつくってしまえ、ってこと。
■ このスレッドは過去ログ倉庫に格納されています