La notation with
La notation with permet d’ajouter des ´egalit´es de types dans une signature existante. L’expression PLUS with type t = Euro.t est une abr´eviation pour la signature sig type t = Euro.t val plus: t -> t -> t end On peut alors ´ecrire module Plus = (Euro : PLUS with type t = Euro.t);; Plus.plus Euro.un Euro.un;; Elle permet de cr´eer facilement des signatures partiellement abstraites.
Modules et compilation separee
Une unit´e de compilation A se compose de deux fichiers : – Le fichier d’impl´ementation a.ml : une suite de phrases semblable a l’interieur de struct … end – Le fichier d’interface a.mli (optionnel) : une suite de spécifications semblable `a l’interieur de sig … end Une autre unit´e de compilation B peut faire référence `a A comme si c’´etait une structure, en utilisant la notation point´ee A.x ou bien en faisant open A. Une fois les interfaces ´ecrites et v´erifi´ees (par le typeur) les composantes peuvent être d´evelopp´ees et test´ees ind´ependamment. La modularit´e du d´eveloppement coıncide avec la modularit´e dans le langage.
