JaneStreet coreを使ってみた
多相なSetが使いたかったので、Janestreet coreを試してみた。
一番分かりやすい変化は、mapとかがラベル付き引数を取るようになっている。
val map : 'a list -> f:('a -> 'b) -> 'b list
なので標準ライブラリと同名でインタフェースが違うモジュールがたくさんあるので、open Core.Stdは危険だと思う。
自分は、
module Set = Core.Std.Set
とした。
あとコンパイルにはThreadsライブラリを有効にする必要がある。
多相Setの他にも、興味深いモジュールがいくつかあるので、そのうち色々試してみようと思う。quickcheck.mlとかワクワクするよね。