Slide 17
Slide 17 text
Γ͍ͨมͷྫ2
(* map_pair : ∀α, β. (α → β) → α × α → β × β *)
let map pair =
λ f. λ x. (f(fst(x), f(snd(x))))
let int pair = map pair int of float (3.14, 2.718)
มޙ
let int pair =
let y = map pair
(λ x. wrap(int) (int of float (unwrap(float)(x))))
(wrap(float)(3.14), wrap(float)(2.718))
in (unwrap(int)(fst(y)), unwrap(int)(snd(y)))
ଟ૬తͳ box Խ͞Ε͍ͯΔ͜ͱʹҙɻ
ଟ૬ؔͷݺͼग़͠ଆͰ unbox ͯ͠Δɻ
14 / 37