in SCHEMER

(define factorial
 (alpha (n c)
  (= n 0
   (alpha () (c 1))
   (alpha ()
    (- n 1
     (alpha (z)
      (factorial z
       (alpha (y)
        (* n y c)))))))))