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