En OCaml 3.11, quiero "extender" un módulo existente utilizando la directiva de inclusión, así:módulo usando incluyen en OCaml
module MyString = struct
include String
let trim s = ...
end
No hay problema. Pero ahora quiero exponer el tipo de este módulo explícitamente (es decir, en un archivo .mli). Quiero algo como esto:
module MyString : sig
include String
val trim : string -> string
end
Pero la incluyo la sintaxis no es correcta porque cadenas se refiere a un módulo, no un tipo de módulo (y de hecho lo hace el compilador de vomitar). ¿Cómo puedo consultar el tipo de módulo para String aquí (sin tener que escribirlo explícitamente en una expresión sig)?
Gracias!