OCaml
OCamlプログラムをduneを使用してビルドしている場合、インストールする時にバイナリファイル以外のファイルも一緒にコピーしたい場合があると思います。 それをopam、duneを使用している時にどのように行うか調べました。 Duneの設定 設定はduneファイルにS…
自分の場合は現在時刻を引数で渡すようにしました。 モジュールやコンテキスを表すデータ型みたいなものを渡してもいいんですが仰々しいので。 t-wada.hatenablog.jp コードはここに置いてあります。 Design-for-testability - OCaml version · GitHub 実装…
dune1.0がリリースされたので、jbuilderからduneに置き換えました。 作業内容としてはそんなに修正箇所はありませんでした。 github.com 作業内容 jbuildファイルの変更 jbuildファイルをduneにリネーム 設定ファイルの変更 コマンドをjbuilderからduneに変…
OCamlのバイトコードをJSに変換できるツール、js_of_ocamlを試して見ました。 とりあえず、jbuilder(dune)を使用して、JSを出力できるようにはなりました。 今回はビルドの方法だけの内容です。 必要なもの opam経由で必要なパッケージをインストールします…
ppx_inline_testの仕様が変わったぽいです。 今まで、テスト実行時にコンソールにテスト結果が表示される仕様だったと思うのですが、デフォルトで表示されなくなったようです。 なのでテスト実行されているのかがわかりにくくなっています。 テスト結果を表…
これはML Advent Calendar 2017の記事です。 枠が空いていて、誰も書いてなかったので書きました。 OCamlのテスト用のツールで、構文拡張を使用したppx_inline_testがあります。 今まで、OUnitを使っていたのですが試しに使用してみました。 使用するのに必…
Typesafetyの0.10.0をリリースし、下記の変更を加えました。 OASISからjbuilderへの移行 タイプチェックがパスした時も、レビューコメントを残せるようにした OASISからjbuilderへの移行 ビルドツールをOASISからjbuilderへ変更しました。 移行作業自体は1日…
jbuilderでビルドに必要なファイルを生成する方法を調べました。 なんで調べたかというと、atdgenでjsonのパーサーのコードを出力したかったからです。 パッケージのインストール jbuilder、atdgenをインストールします。 opam install atdgen jbuilder rule…
CI上でテスト前の型チェックのエラーをGitHubのPRのコメントとして投稿するツールtypesafety-cliのビルドツールを変えようとしています。 具体的にはOASISからjbuilderに移行しようとしています。 開発当初はOASISで良かったのですが、以下の理由で辛く感じ…
Hackの型チェックをCI上で行っていたのですが、エラー内容を見るのにCI環境側までいちいち見に行かないといけないので、OCamlでレビューコメントとして投稿できるtypesafety-cliを作りました。 レビューコメントは下記のような感じになります。 https://gith…
これはML Advent Calendar 2016の18日目の記事です。 OCamlのテストフレームワークのOUnitについて解説します。 また、Oasisの簡単な説明も行います。 プロジェクトのセットアップ OCamlのプロジェクトでは、だいたいの場合はOasisを使います。 Oasisはビル…