Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (* lambda lifting がわからないという話 *)
- let f x =
- let g y = x + y in
- g
- (* ↓ λ lifting *)
- let f x =
- let $g x y = x + y in
- $g x
- (* ↓ 部分適用を解消 *)
- let f x =
- let $g x y = x + y in
- let tmp y = $g x y in
- tmp
- (* 戻った\(^o^)/ *)
- (*あるいは $g : int -> (int -> int) となるようにliftしても*)
- let f x =
- let $g x =
- let tmp y = x + y in
- tmp in
- $g x
- (* 戻った\(^o^)/ *)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement