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);
なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h