Tutorial

OCaml 標準ライブラリ探訪 #3.0: Printf: 便利だけどいろいろ謎のある奴

関連リンク: OCaml 標準ライブラリ探訪 第0回 その他の回は第0回のトラックバックよりご覧ください。 printf って OCaml でも便利ですよね。C から連綿と続いている半ば常識の % インターフェースに加え、ちょっと不思議な型推論のおかげで型安全性も保証さ…

OCaml 標準ライブラリ探訪 #2 Printf を書こうと思ったら、

Printf のバグを見つけちゃった、ちょっと待てー。 # Printf.sprintf "%3.F" 12345.6789;; - : string = "1234." これはやばいですよ。結果が1/10になる恐ろしや。もしこれ踏んでたらウチの会社は今存在してないかもしれない、くらいやばい。パッチはここに…

OCaml 標準ライブラリ探訪 #2 List に関するおわびとおことわり

関連リンク: OCaml 標準ライブラリ探訪 第0回 その他の回は第0回のトラックバックよりご覧ください。 「さようなら」周り等で、ご批判を頂きました。ありがとうございます。元来の毒舌な者ですから、ご勘弁ください。教科書や論文を書いてるわけでも無し、こ…

OCaml 標準ライブラリ探訪 #2 List : スタックと計算量に注意

関連リンク: OCaml 標準ライブラリ探訪 第0回 その他の回は第0回のトラックバックよりご覧ください。 やあこんにちは。ちょっとショッキングなことがあってブルーな筆者です。他にも 3kg は一瞬で減量できたんですがね、そこから先がなんともです。まーみな…

OCaml 標準ライブラリ探訪 #1.2 Pervasives 補遺

関連リンク: OCaml 標準ライブラリ探訪 #0 その他は上の記事のトラックバックから。 他の方同士の会話からでも勝手に抜き取ります。すいません。 [...] failwithf "hoge: %s" "hii" ();;でも普通に動きます。でもなんで()付きで [...] chunjpさん これは、ご…

OCaml 標準ライブラリ探訪 #1.1 Pervasives 補遺

関連リンク: OCaml 標準ライブラリ探訪 #0 OCaml 標準ライブラリ探訪 #1: Pervasives 御好評のようでいくつか twitter でつぶやきを頂いております。私がフォローもしくはキーワード OCaml で監視して見つけたモノのみしか追えませんが、、、まあつぶやいた…

OCaml 標準ライブラリ探訪 #1: Pervasives: 最も使われてるのに最も名前が知られていない奴

関連リンク: OCaml 標準ライブラリ探訪 #0 標準ライブラリ探訪第一回は Pervasives です。OCaml ソースファイルを持っている場合には ${srcdir}/stdlib/pervasives{.ml,.mli}、ライブラリディレクトリを見ている場合には ${libdir}/pervasives{.ml,.mli} *1 …

OCaml 標準ライブラリ探訪 #0

OCaml 標準ライブラリへようこそ OCaml 標準ライブラリは、機能が足りない、なんで dev team はライブラリを放っているんだ、とかコケにされた上に、もう我慢できないから自分で次世代標準ライブラリを作っちゃうよ、といった運動も起こっている(extlib / ba…

Gc.finalise について

OCaml には、 Gc.finalise という関数があります。これはガーベージコレクター(GC)に関連のある関数で、 ある値が必要なくなってガーベージコレクトされる直前に、その値に対して何かするためのコールバックを登録する ために使われます。 Gc.finalise f vと…

ocamlc -pack について

OCamlでは同じパス名を持つモジュールを二つ以上リンクすると、名前が衝突しちゃうのでエラーになります。 名前の衝突とは、例えば、プログラム中に M というモジュールが二つあったとしたら、M.x と書いたときどっちを見りゃいいんじゃ、ということ。*1OCam…