OCaml Meeting 2009 in Tokyo で私が発表した、「大駱駝解軆變造概説」という OCaml コンパイラを改造するお話の補遺です。 スライド: http://ocaml.jp/?plugin=attach&refer=Users%20Meeting&openfile=camlmod.pdf トーク動画: http://www.ustream.tv/recorded/2073121 そして、このお話のために準備した改造パッチ: http://ocaml.jp/?plugin=attach&refer=Users%20Meeting&openfile=OCM-patch2.txt このパッチを使用して (+) と (+.) を SML 97 風に (+) 一つにオーバーロードするのですが、パッチの実際の使用法と、長いわりに判りにくいですが、パッチの解説をしておきたいと思いま
寝る前に OCaml でなんか書いてみるか、と思って書いてみた。 exception Unexpected_char let interpret str = (* バッファ *) let buf = Array.create 3000 0 in (* 対応する右括弧(])を探しに行く *) let rec rp idx n = match String.get str idx with | '[' -> rp (idx+1) (n+1) | ']' -> if n=0 then idx else rp (idx+1) (n-1) | _ -> rp (idx+1) n (* 対応する左括弧([)を探しに行く *) and lp idx n = match String.get str idx with | '[' -> if n=0 then idx else lp (idx-1) (n-
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く