OCaml
Objective-Camlの略。
このCamlはCategorical abstract machine languageの略であり、Categorical abstract meta languageではない。
他のML方言同様に関数型言語のキホンやlet多相に加え、モジュールやGADTを持つなど、強力な言語である。
特にモジュールは高階のモジュールであるファンクタという機能を持ち、強力な抽象化を支援すると同時にうまく書くことで型検査を無限ループさせることができるオモシロ機能。
スターターセット
opam
パッケージマネージャ。使いづらい。
utop
つよいREPL。opamでインストールしよう。
merlin
LSPっぽいやつ。
variants
MetaOCaml
multi-stage programmingができる。
Multicore OCaml
algebraic effectsが入っている。multicoreの部分は知らね〜〜
豆知識
HERPではほぼ同様の構文のBuckleScriptを若干使用している。
bs-winston
ファンクタをガッツリ使っている。