6

Y - コンビネータ

私はY-コンビネーターについて学ぼうとしており(その説明も素敵です) 、このwikiの例に出くわしました。この件に関する詳細な説明は、Haskell または Python のいずれかで大歓迎です。お願いします!

コード

fix :: (a -> a) -> a
fix f = f (fix f)

問題

が適用されたときに呼び出された関数がfix返されますが、その理由はわかりません。スタックをたどると、 が視覚化されます。9fix(\x -> 9)f(f ... (fix f) ...)

>> fix (\x -> 9)
>> 9
4

1 に答える 1