2017-08-08 3 views
-1

1) i ont une signaturetype de module OCAML et compilation Module

module type UINTSIG= 
sig 
type t 
val create: t->t 
end 

2) Je veux créer deux modules qui utilisent la signature ci-dessus

donc idéalement je voudrais garder la signature en 1 , dans un fichier séparé des fichiers d'implémentation et de signature des modules qui utilisent la signature dans 1. Mes questions sont

A) où dois-je mettre la signature en 1 ci-dessus. Dois-je le mettre dans le fichier uintsig.mli? B) Comment puis-je exprimer dans les fichiers .mli/ml des modules qu'ils utilisent la signature dans 1?

Répondre

3

Il est raisonnable de placer votre définition de type de module dans un fichier nommé uintsig.mli.

Vous pouvez ensuite vous référer au type de module à partir d'autres fichiers sous le nom Uintsig.UINTSIG.

(En aparté, le type de module ne me semble pas fondé. Il n'y a pas moyen de créer une valeur de type t sans avoir déjà une valeur de type t. Mais il est juste un exemple, évidemment .)