Skip to content

Instantly share code, notes, and snippets.

@jonashaag
Created February 5, 2015 21:35
Show Gist options
  • Save jonashaag/4578927dedd6956aa296 to your computer and use it in GitHub Desktop.
Save jonashaag/4578927dedd6956aa296 to your computer and use it in GitHub Desktop.
let p n = n (+1) 0
let zero f x = x
let succ n f x = f (n f x)
let mult m n f = n (m f)
let dx = succ
-- base case
λ p $ square (succ (succ zero))
4
-- recalculation case
λ p $ square (dx (succ (succ zero)))
9
-- (wrong) incremental case
λ p $ (square dx) (square (succ (succ zero)))
6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment