話の流れを理解してませんが、

In article <oprybo2cdb98rf19 / capella.freemail.ne.jp>,
  shelarcy <shelarcy / capella.freemail.ne.jp> writes:

> そういうことを思い出して、Ocaml に聞いて見たところ、再帰定義そのものが
> 問題になるケースもあるようです。
>
> let y f = f (y f);;
>               ^
> Unbound value y

これは rec を付ければ定義できます。

# let rec y f = f (y f);;
val y : ('a -> 'a) -> 'a = <fun>

これは let で定義した変数のスコープは let の body には及ばないからです。
ちなみに Scheme も同様で、そういうときは、letrec を使います。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/