関数型プログラミング言語Haskell Part21
■ このスレッドは過去ログ倉庫に格納されています
0763デフォルトの名無しさん
2013/03/14(木) 02:28:30.07・ クロージャが特にOOPで飛び先が隠ぺいされる goto になる理由は、個性のないクロージャがオブジェクトに抽象化されてオブジェクト自身が持ちまわされるから
・ クラスの遠隔に設置される場合に名前がないのでクロージャのセマンティクスが明確に消失するという問題は、裏を返せば、クラスの遠隔に設置される場合と同じリテラスなのにセマンティクスが変わってしまうということ
・ クロージャのオブジェクトとしての同値判定は、クロージャをクラスにしなければOOPとは無関係
・ プリミティブの場合は (\x -> \x + 1)1 でOKだが、クラスにするとただ並べるだけではダメで クロージャのオブジェクトに1を適用するというステップが間に入り、セマンティクスが異なる
・ 他のクラスのオブジェクトと生成が同期しないことによる弊害はリソースを保持するコストの推定が難しくなること
・ クロージャの生存期間がクロージャだけを見ても分からない理由は、OOPではクラスのオブジェクトの生存期間の明示が難しいから
■ このスレッドは過去ログ倉庫に格納されています