A few months ago, Mike Lin posted instructions of how to bootstrap an OCaml testing environment within the Travis continuous integration tool. I finally got around to integrating his prototype scripts properly using the latest OCaml and OPAM versions during my travels last week to ICFP. It’s been an extraordinarily quick and pleasant experience to add the (free!) Travis test runs to my OCaml progr
Update (Oct 2013): Anil Madhavapeddy has fleshed this out further. This evening I spent some time getting unit tests for my OCaml projects to run on Travis CI, a free service for continuous integration on public GitHub projects. Although Travis has no built-in OCaml environment, it's straightforward to hijack its C environment to install OCaml and OPAM, then build an OCaml project and run its tes
この記事はCPU実験 Advent Calendar 2015の15日目の記事です。 CPU実験において、僕の班は(主に僕の独断で)Travis CIを導入しました。 もう一度CPU実験の概要について説明します。 CPU実験では主に コア係(VHDL) コンパイラ係 シミュレータ係 FPU係(VHDL) の4つの係があり、 コンパイラで所与のレイトレプログラムを実行可能機械語列に変換する 実機コアと手持ちPC上のシミュレータでそれぞれ実行して差分を比較 差分がなければ(かつ実機の実行時間が15分以内であれば)単位 という流れになります。FPUはコアに組み込みます。また、シミュレータの浮動小数点演算もx86組み込みのfadd命令ではなく、自班のFPUの動作を模倣するシミュレータを書きます(コア/シミュレータの差分を比較するため)。 ここで重要になってくるのは、いかにしてまずシミュレータをバグ
Travis CIはGithubのhookと連携して、push時に自動的にテストを通す、所謂CI、継続的インテグレーションツールというやつだ。 本記事ではTravis CI自体の詳細な使い方に触れることはしない。公式ドキュメントをたどれば結構親切に説明されている。 Travis CIで使える言語は以下のリンクで見ることが出来る。 Languages - Travis CI ここでひとつ問題がある。 OCamlのサポートがない。 これは由々しき事態だ。人類の英知と希望であるOCamlが使えない。全人口の半数くらいが自分の書きたいプログラムを赤裸々に表現できないことに苦しみを覚えることだろう。 ということで、本記事ではTravis CIでOCamlを使うにはどうすればよいかを示す。 OCaml公式のTravis CI bindingを入手する と思ったが、実は公式からbindingが提供されて
以前OCamlは学習コストが低いといいましたが、私のOCaml学習の中で唯一多相バリアントだけはその意味を理解するのに時間がかかりました。ただ、分かってみると単純な話で、誰かが噛み砕いて説明してくれれば回り道しなくてもよかったのではないかと悔やまれます。また、多相バリアントについて集中的に解説しているWebページもあまりないので、ここで解説してみようと思います。 多相バリアントの基本 「多相」バリアントというくらいですから、多相バリアントは多相的なバリアントなのです。普通のバリアントは多相になりません。例えば普通のバリアント型、 # type card = Joker | Num of int;; type card = Joker | Num of int # type in_data = Str of string | Num of int;; type in_data = Str o
Heads up! This is my old blog, which is no longer updated, doesn't reflect my current opinions, and remains here for archival purposes only. Please don't take it too seriously; and visit whitequark.org to see my current work! Extension points (also known as “-ppx syntax extensions”) is the new API for syntactic extensions in OCaml. The old API, known as camlp4, is very flexible, but also huge, pra
よく Scheme や Lisp の本で Scheme/Lisp を使って Scheme/Lisp 処理系を書くというのがあって大層簡潔に書いてあったりするのですが、これは要するに S 式リーダ機能がビルトインで存在するというのが有利に働いているので、他の言語でも S 式を簡単に読めれば同じくらいにはできそうです。 そこで OCaml の sexplib [1] を使ってみたかったこともあって、それを使ってなんちゃって Scheme を書いてみました。 なお sexplib は「産業界における関数型言語の事例」でよく引き合いに出されている Jane Street Capital で開発された OCaml 向けの S 式ライブラリです。 #use "topfind";; #require "sexplib";; #require "extlib";; open ExtList;; open
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く