En OCaml 3.11, je veux "étendre" un module existant en utilisant la directive include, comme ceci :
module MyString = struct
include String
let trim s = ...
end
Pas de problème. Mais maintenant je veux exposer explicitement le type de ce module (c'est-à-dire dans un fichier .mli). Je veux quelque chose comme ceci :
module MyString : sig
include String
val trim : string -> string
end
Mais la syntaxe include n'est pas correcte car String fait référence à un module, pas à un type de module (et le compilateur rejette en effet). Comment puis-je faire référence au type de module pour String ici (sans devoir l'écrire explicitement dans une expression sig) ?
Merci !