Obj.magic
そう言えば以前id:namasute0氏の前で Obj.magic
の話をしたら,自分で定義する方法を教えてくれた.確かこんな感じ:
ux104$ ledit ocaml Objective Caml version 3.09.1 # exception Ex of _ ;; exception Ex of 'a # let mymagic x = try raise (Ex x) with Ex(x) -> x ;; val mymagic : 'a -> 'b = <fun> # print_int (mymagic (1,2));; 121358- : unit = () # print_int (mymagic (1,2));; 112900- : unit = () # print_int (mymagic (1,2));; 104442- : unit = () # print_int (mymagic (1,2));; 95984- : unit = () # print_int (mymagic (1,2));; 153058- : unit = () (* ←GCが起きたっぽい *) # print_float (mymagic 1);; Bus error ux104$
それ以来 彼を尊敬している.