On Thu, Apr 23, 2009 at 1:34 PM, Miguel Mitrofanov <miguelimo38@yandex.ru> wrote:

Well, than, what would you expect from this:

let {f x = g x;
     g 0 = 0;
     g n = f (n-1)}
in show f

Well, not show, because any show instance for functions breaks r.t.  But the interactive interpreter, if it is not subject to r.t., might show:

let { f x = g x;
      g 0 = 0;
      g n = f (n-1) } in f

Or

fst (fix (\~(f,g) -> (\x -> g x, \n -> case n of { 0 -> 0; n -> f (n-1) })))

Or any number of other equivalent writings.

Luke