title: Recursive lambda in Haskell
body: <p>Let's see analyse code for factorial in Haskell using lambda function:</p>
  
  <pre><code>y f x = f (y f) x
  
  factorial = y (\t n -&gt; if n == 1 then 1 else n * t(n-1))
  </code></pre>
  
  <p>And I cannot understand how does it works. I know that it is connected with lambda calculus but nowadays I am not familiar with that so I have to understand without it or with minimal knowledge.
  My doubt is:
  What is f in definition of factorial? I mean this f: y <strong>f</strong> x = f (y f) x.</p>
  
  <p>So what is f here?  y (\t n -> if n == 1 then 1 else n * t(n-1))</p>
  
  <p>Please explain me that, maybe expand recursion?</p>