In OCaml 3.11 möchte ich ein bestehendes Modul mit der Include-Direktive "erweitern", etwa so:
module MyString = struct
include String
let trim s = ...
end
Kein Problem. Aber jetzt möchte ich den Typ dieses Moduls explizit angeben (d.h. in einer .mli-Datei). Ich möchte etwas wie dies:
module MyString : sig
include String
val trim : string -> string
end
Aber die Include-Syntax ist nicht korrekt, weil sich String auf ein Modul und nicht auf einen Modultyp bezieht (und der Compiler kotzt tatsächlich). Wie kann ich hier auf den Modultyp für String verweisen (ohne ihn explizit in einem sig-Ausdruck ausschreiben zu müssen)?
Danke!