Extensible variant types

Extensible variant types とは OCaml の言語拡張のひとつで、後からコンストラクタを拡張できる性質を持ったバリアント型を定義できる。 型を宣言するときは .. を使う type color = .. バ...

2024/4/8

ファーストクラスモジュール

OCamlにはファーストクラスモジュール(第一級モジュール)という言語機能があり、関数の引数にモジュールを渡したりモジュールを戻り値にするこ...

2024/3/24

OCamlでモノイド

OCamlには型クラスはないが、ファンクターでそれっぽい雰囲気のものは作れそうだなと思ったので試してみた。 まずはモノイドを表すモジュール型を...

2024/3/20

Dreamのコードが良い感じ

ここ数日DreamというOcamlのWebフレームワークのコードを読んでいる。 ファーストクラスモジュールやファンクター、パラメーター満載のモ...

2024/1/16

OCaml 4.08.0から使えるBinding operatorsが便利だった

OCaml 4.08.0 で Binding operators 1 という機能が導入されていました。これでOCamlでもHaskellのdo記法やScalaのfor式に近いかたちでモナディックな計...

2021/1/11