Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Y(var outer)
- {
- return (
- function(var func)
- {
- return outer(
- function(var arg)
- {
- return func(func)(arg);
- }
- );
- }
- )(
- function(var func)
- {
- return outer(
- function(var arg)
- {
- return func(func)(arg);
- }
- );
- }
- );
- }
- function factorial_recursive(int n)
- {
- if(n == 0) return 1;
- else return n * factorial_recursive(n - 1);
- }
- function main()
- {
- var factorial_y = function(var func)
- {
- return function(int n)
- {
- if(n == 0) return 1;
- else return n * func(n - 1);
- };
- };
- say("Recursive factorial gives: ", factorial_recursive(6));
- say("Y-Combinator factorial gives: ", Y(factorial_y)(6));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement