В недавнем выпуске OCaml 3.12 появилась функция упакованных модулей первого класса:
Модули пакетов первого класса.
- Новый тип выражения типа для упакованных модулей:
(module PT)
- Новый вид выражения для упаковки модуля в качестве первоклассного значения:
(module MODEXPR : PT)
.
- Новый вид выражения модуля для распаковки первоклассного значения как модуля:
(val EXPR : PT)
.
- PT - это тип пакета вида
S
или S with type t1 = ... and ... and type tn = ...
(S
относится к типу модуля).
Где я могу найти мотивирующие примеры или статьи с помощью этой функции?