関数型言語で呼び出しサイトの置換が可能かどうかは疑問です。私はこれ
を怠惰の特別な形と考えています。
基本的に、引数 a を持つ関数 f をどこかで呼び出します。
... (f a) ...
次に、関数は
、引数 b を持つ関数 g でそれ自体を置き換えることができます。
... (g b) ...
そのため、次に (fa) の元の呼び出しサイト
が呼び出されると、実際には (gb) が呼び出されます。
ヒント歓迎。
さよなら
PS: Just-In-Time (JIT) コンパイル用です。
ポリモーフィックなインライン キャッシュなど。
例を参照してください。
動的に最適化 - 型付きオブジェクト -
ポリモーフィック インライン キャッシュを使用したオブジェクト指向言語
Urs Hölzle、Craig Chambers、David Ungar
ECOOP '91 Proceedings of the European
Conference on Object-Oriented Programming
http://selflanguage.org/_static/published/pics.pdf