G'Caml 学習帳
なんかやはり enum は print できないとダメですよね!ということで MetaOCaml は中一までだったかもと思ったとか。
http://d.hatena.ne.jp/sumii/20060918/1158537612#c1158545128
type a = A type b = B of int let _ = Gprint.eprint "aaaa"; Gprint.eprint 11; Gprint.eprint A; Gprint.eprint (B 11); Gprint.eprint [1;2]; Gprint.eprint (Obj.magic (B 1)); Gprint.eprint Gprint.eprint;
実行結果。
i@u ~/test/ocaml> gcaml epr.ml "aaaa" 11 A B (11) [ 1; 2 ] <poly> <fun>
すばらしいです!なんかドキュメントチラっと見ると実行時型情報がどうとか書いてあって効率悪いんじゃねーかとか思うけどどうなんだろう。
ついでに +. にサヨウナラ!
let (+) = generic (+) | (+.) let _ = Gprint.eprint (1 + 2); Gprint.eprint (1.1 + 2.2);