OCaml
私の環境 (OCaml 3.12.0, ubuntu, findlib) で自動ビルドに成功しました $ export PATH=$HOME/.odb/bin:$PATH $ export OCAMLPATH=$HOME/.odb/lib $ ocaml odb.ml --repo unstable oasis急速に進化しつつあるようです!他の環境でビルドできるかどうか知りま…
Planck: A Small Parser Combinator Library for OCaml I have released Planck, a small monadic parser combinators for OCaml. It includes a proof of implementation: OCaml syntax lexer and a parser which create 100% identical AST as the origina…
はじめに断っておくが、全部Pros/Consのあるデザインチョイスなので、こうじゃなきゃいけないってことではない。ただ、 OCaml はこの選択をした、そいう事だ。前回の「経験15年の OCaml ユーザーが Haskell を仕事で半年使ってみた」 http://d.hatena.ne.jp/…
非 し! -── ‐- 、 , -─-、 -‐─_ノ O 小 末 // ̄> ´  ̄  ̄ `ヽ Y , ´ ) C え 学 尾 L_ / / ヽ a | 生 再 / ' ' i m マ ま 帰 / / く l ジ で 許 l ,ィ/! / /l/!,l /厶, で だ さ i ,.lrH‐|'| /‐!-Lハ_ l /-!'|/l /`'メ、_iヽ よ れ l | |_|_|_|/| / /__!__ …
この記事は LLVM-2.8 とその OCaml binding を使った LLVM プログラミングの始め方について、良く判らないという声を聞いたので、理屈はともかく、どうやって始めるかを主眼に書いた物です。OCaml や Makefile を全く書いた事が無いし知りたくも無い、でも L…
OCaml もモナドをつかったプログラミングでは、私は別に bind operator (>>=) を使うのは全く苦じゃないんです。例えば、今私が遊んでいる LLVM のコードは builder をモナドにしてこんな感じになっています: let run clos lty_ret = B.cast clos lty_generi…
事の次第 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; …
半年ほど前に、誰かがベロベロに酔っ払ってただ勢いで書いたゴミをさっき見つけました。すいません。今日はこれで許してください。今月はしょうもないことでも出きるだけ毎日出して行きたいと思います。 「若いλ彦」 http://anond.hatelabo.jp/2010061123231…
OCaml のモジュールが大好き!! 3.12.0 インストールしてるよ!という人だけ、読んで下さい。それ以外の人は、あんまりわかんないと思う。 前回のまとめ 綺麗にドキュメント(.mli)を書きつつ、既存OCamlモジュールを「拡張」する方法を紹介しました (* xmystdl…
すとっどりぶ ご存知のように OCaml の stdlib は「標準ライブラリ」ではありません。「すとっどりぶ」です。大事な事などでもう二度言いますってやつです。これは OCaml コンパイラがコンパイルできる様にするための最小限のライブラリ+ INRIA の人たちの…
自分の使っている OCaml のバージョンを 3.12.0 から 3.11.2 に戻しました。OCaml 3.12.0 には First class module や type scheme annotation など非常にあると便利な機能が新しく入っているので、できれば使いたいのですが、問題は付属ツールである CamlP4…
tuareg-mode については、 http://d.hatena.ne.jp/camlspotter/20100605/1275695973 でも書いたとおり、最新版の 2.0.x はまだちょっと手を出すのは早いのかなあと思っていましたが、そうも言っておれず…2.0.x では match, try, function の case 文での -> …
( ゚∀゚)o彡°O'PyCaml リリースして無いけど公開してるよ ( ゚∀゚)o彡°O'PyCaml は OCaml から Python/C API を使って Python ライブラリを呼び出すインターフェースです。大体出来ました。使いながらチューンしていきます。 Bitbucket で公開してます: http://b…
OCamlSpotter に付属している ocamlspot.vim は、branch 3.12.0 に入ってます。$ hg clone http://hg.ocamlcore.org/cgi-bin/hgwebdir.cgi ocamlspotter/ocamlspotter/ -r 3.12.0 $ ls ocamlspotter/ocamlspot/ocamlspot.vim ocamlspotter/ocamlspot/ocamlsp…
Find Your White Caml というタイトルで一席噺させていただきました。スライドは http://www.slideshare.net/camlspotter/um2010 にあります。見てやってください。テーマは「OCaml で書かれた大規模なコードベースを如何に早く理解し、チームの重要な一員に…
Eric Stokes の CmiGrep 1.5 は OCaml 3.12.0 ではコンパイルできません。ちょっとした手直しが必要です。GPL なので、直したものを置いておきました。ご活用ください。 ( http://jun.furuse.info/hacks/cmigrep-1.5-ocaml-3.12.0.tbz?attredirects=0&d=1 )
OCaml T-shirt は、在庫15枚を刷りましたが、OCaml Meeting 中に全て売り切れました。どうもありがとうございました!!とりあえず、ご連絡まで。
TL でご一報いたしましたが、OCaml Meeting 2010 in Nagoya T-shirt が家に届きました!なかなか品質良いです! 全部で57枚です。重い。ちょっと忙しくて、数量は今から確認します。価格は初めにお約束いたしましたとおり、1500円とさせていただきます。ミーテ…
すごく慌しい受注体制にもかかわらず、たくさんの皆さんからご注文いただきました。私+予備を除いて 38枚です。皆さんどうもありがとうございます!! 発注メールは午後に送りましたが返事がありません。不安です。ちょっと待つことにします。続報は #ocamlts…
http://d.hatena.ne.jp/camlspotter/20100803/1280866293 に書いたとおり、締切りを20時間繰上げます。どうも申し訳ありません。 RSS に引っかかるようにこのエントリも書きました。
すいませんすいません OCaml Meeting 当日の頒布をより確実にするためLightning order 締め切りを明日8/5正午に繰り上げさせてください。すいません。完全に私の準備不足です、どうぞご了承ください、よろしくお願いします。 仕様とお値段 こんなんで発注か…
八月です。OCaml Meeting 2010 in Nagoya の月です。今回は名古屋です。もちろん私も参加します。お知らせはhttp://ocaml.jp/um2010で発表されるでしょう。プログラムもほぼ固まってきたのではないか、と思います。皆さんのご参加をお待ちしています。交通費…
暑いですね。暑い上に駱太郎が密着しないと不満らしいのでさらに暑い。駱太郎は密着していて暑くても汗でベタベタになっても一向に構わないそうです。そんなこんなで日記が埋まりません。 3.12.0 への作業 この数週間は、 OCaml 3.12.0+rc1 に乗り換える作業…
OCaml の予約語を適当に並べたら何か標語が出来ないかなと思って。 try new fun of function with type new もあるし何となく OCaml っぽくていいかな?それだけです。 # try new fun of function with type;; Characters 8-11: try new fun of function wit…
前回の日記でこのような問題を出しました: 問題 次の twice 関数は、第一引数である関数 f を第二引数 x に二回適用する高階関数です。 let twice f x = f (f x) この時、次の各式の結果は以下のようになります: 式 ==> 結果 twice ((+) 1) 0 ==> 2 twice tw…
;; has existed for long. Actually it is since the very birth of the ML functional language family: Edinburgh LCF ML by Robin Milner in the late 1970s has it already: http://books.google.com/books?id=Vm08AAAAIAAJ&lpg=PA163&dq=lcf%20manual%2…
コメント欄が無いのでトラックバックしておきます http://d.hatena.ne.jp/tatta/20100623/ # isz (isz (lit 0)) - : bool term = IsZ (IsZ (Lit 3)) !!! isz : int term -> bool termなので型エラーになってほしいのに... OCaml のバグじゃないかと疑って…
もう干からびていたとうわさの OCaml のための emacs mode、Tuareg が新しくなりました。オリジナルは 1.45.x 以降、1.46.2 あたりまで出たものの、何かエンバグして 1.46 系は取りやめ、そして作者が興味を失った?のか、そのままでしばらーく乾燥状態だっ…
OCaml はイカレタ言語なので the Y combinator が書けません: $ ocaml Objective Caml version 3.11.2+ocamlspotter # let y = fun f -> (fun x -> f (x x)) (fun x -> f (x x));; Characters 32-33: let y = fun f -> (fun x -> f (x x)) (fun x -> f (x x)…
(add-hook 'tuareg-mode-hook '(lambda () ;; indentation rules (setq tuareg-lazy-= t) (setq tuareg-lazy-paren t) (setq tuareg-in-indent 0) (setq tuareg-electric-indent nil) (setq tuareg-leading-star-in-doc t) (setq tuareg-with-indent 0) (set…