fork(1) download
  1. #|
  2. (\g -> (\x-> x x) (\x-> g (\n-> (x x) n)))
  3. (\fact -> \n k ->
  4.   (equals n 0)
  5.   (\True -> k 1)
  6.   (\False -> decr n
  7.   (\n1-> fact n1
  8.   (\f1-> mult n f1 k))))
  9. 5 display |#
  10.  
  11. (define (mult k) (lambda (x y) (k (* x y))))
  12. (define (decr k) (lambda (x) (k (- x 1))))
  13. (define (equals s f) (lambda (x y) (if (= x y) (s) (f))))
  14.  
  15. ((((lambda (g)
  16. ( (lambda (x) (x x))
  17. (lambda (x) (g (lambda (k) ((x x) k))))))
  18.  
  19. (lambda (fact)
  20. (lambda (k)
  21. (lambda (n)
  22. ((equals (lambda () (k 1))
  23. (lambda () ((decr (lambda (n1)
  24. ((fact
  25. (lambda (f1) ((mult k) n f1)))
  26. n1)))
  27. n)))
  28. n 0)))))
  29.  
  30. (lambda (x) (display x)))
  31. 5)
  32.  
Success #stdin #stdout 0.03s 8616KB
stdin
Standard input is empty
stdout
120