Skip to content

Instantly share code, notes, and snippets.

@SamDM
Created November 18, 2017 16:24
Show Gist options
  • Save SamDM/5e771a668574ebb02a542d3389f1e229 to your computer and use it in GitHub Desktop.
Save SamDM/5e771a668574ebb02a542d3389f1e229 to your computer and use it in GitHub Desktop.
If functional programmers try python...
fix = lambda f: lambda a: \
f(fix(f))(a)
power = lambda x: lambda n: \
fix(lambda g: lambda n: 1 if n == 0 else x * g(n-1))(n)
factorial = lambda n: \
fix(lambda g: lambda n: 1 if n == 0 else n * g(n-1))(n)
power(3)(4)
# 3^4 = 81
factorial(5)
# 5! = 120
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment