Глава 12 Расширения языка
15 Генеративные функторы
(Добавлено в OCaml 4.02)
|
Генеративный функтор принимает аргумент типа unit (). Чтобы использовать такой функтор, необходимо применить его к этому аргументу типа unit, что гарантирует генеративное поведение всех компонентов-типов в результате работы функтора: т. е. они отличаются от типов, полученных при других применениях того же функтора. Это эквивалентно приёму аргумента сигнатуры sig end и применению функтора к struct end, но не к некоторому определённому модулю (в последнем случае повторное применение к одному и тому же модулю возвращало бы идентичные типы).
Благодаря этому свойству генеративности в теле генеративных функторов разрешено распаковывать модули первого класса.
© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/generativefunctors.html