La reciente OCaml 3.12 introduce un feature de módulos de paquetes de primera clase:¿Cuáles son los buenos usos de los módulos empaquetados OCaml?
módulos de paquetes de primera clase.
- nuevo tipo de expresión de tipo, para los módulos empaquetados:
(module PT)
- nuevo tipo de expresión, para empacar un módulo como un valor de primera clase:
(module MODEXPR : PT)
.- Nuevo tipo de expresión de módulo, para descomprimir un valor de primera clase como un módulo:
(val EXPR : PT)
.- PT es un tipo de paquete del formulario
S
oS with type t1 = ... and ... and type tn = ...
(S
se refiere a un tipo de módulo).
¿Dónde puedo encontrar ejemplos motivadores o documentos con esta característica?
Por lo que recuerdo, Moscow ML, una implementación de SML que usa caml-light como back-end, fue el primero en implementar módulos de primera clase. La sección correspondiente de la documentación de Moscow ML se refiere a los archivos mosml/examples/modules/{sieve.sml, array.sml, choice.sml, matrix.sml} de la distribución para ver ejemplos. –
@Pascal Buena referencia para los ejemplos. Esa es la extensión de Claudio que mencioné. – RD1