消去された用語には意味があります。Haskell では\f a -> f (f a)
、最初の引数を 2 番目の引数に適用し、結果に再び適用するごく普通の関数です。
\f a -> <body>
との違い\f.\a. <body>
は表記の 1 つにすぎません。必要に応じて、Haskell 用語 を書きます\f -> \a -> f (f a)
。これは同等ですが、構文的には削除された System F に少し近いものです。
(double
これは自己適用ではないことに注意してください\f -> f f
。)