10.15 Генеративные функторы
(Введено в OCaml 4.02)
|
Генеративный функтор принимает аргумент единицы (). Для его использования необходимо обязательно применить его к этому аргументу единицы, гарантируя, что все компоненты типов в результате работы функтора ведут себя генеративным образом, т.е. они отличаются от типов, полученных при других применениях того же самого функтора. Это эквивалентно принятию аргумента с сигнатурой sig end и всегда применению к struct end, но не к какому-либо определённому модулю (в последнем случае, двойное применение к одному и тому же модулю вернёт идентичные типы).
Как побочный эффект этой генеративности, разрешается распаковывать модули первого класса в теле генеративных функторов.
© 1995-2022 INRIA.
https://v2.ocaml.org/releases/4.14/htmlman/generativefunctors.html