#format md #acl +All:read ##誰でも読めるようにする場合は上の行の#を一つだけにする。この行は消しても構いません。 # OcAmL情報 ## TL;DR この辺を見ると良い - http://d.hatena.ne.jp/camlspotter/20121215/1355577547 (※現在camlp4はオワコン) - http://postd.cc/beginners-guide-to-ocaml-beginners-guides/ - https://realworldocaml.org/ - https://blogs.janestreet.com/ ## Introduction 最近研究でオーキャムルを使わされていて色々つらかったので、 現実逃避がてらoCamlの開発環境etcについてメモ書きします。 そのうちどっかほかのサイトにまとめ直します。 ## ライブラリ管理 - [opam](http://opam.ocamlpro.com/) Rubyで言うrbenv + gemみたいなやつ。つよい。 ## 基本ライブラリ - [Core](https://github.com/janestreet/core) 標準ライブラリの機能が貧弱なのでこっちを使うと良いと思う。 ドキュメント(バージョンがやや古いが): https://ocaml.janestreet.com/ocaml-core/111.28.00/doc/core/ この辺に日本語解説がある: http://d.hatena.ne.jp/camlspotter/20090906/1252235911 ## 言語拡張 - ppx プリプロセッサ(コードを自動生成してくれるすごいやつ)のフレームワーク。 [camlp4はオワコン](https://blogs.janestreet.com/ocaml-4-02-everything-else/) なのでこっちを使う。 [ppx_type_conv](https://github.com/janestreet/ppx_type_conv)とか[ppx_deriving](https://github.com/whitequark/ppx_deriving)が、 Haskellで言うderivingをやってくれてべんり。 ## ビルド周り いっぱいある上に大体ドキュメント周り弱くてつらい。 - [ocamlbuild](https://ocaml.org/learn/tutorials/ocamlbuild/) ocamldepあたりで依存関係を計算してビルドしてくれるやつ。 ビルド生成物を別ディレクトリ(`_build/`)以下に置いてくれるのが個人的には良い。 もうちょいまともなドキュメント書いているらしいのでこっち見ても良いかもしれない( https://github.com/gasche/manual-ocamlbuild ) ## エディタプラグイン - [merlin](https://github.com/the-lambda-church/merlin) syntasticと連携してシンタックスチェックや自動補完の機能等を提供してくれる。 設定がややめんどくさい。 ---- [[ReadingCategory]]