Tiens au fait, est-ce qu'OCaml gère proprement les cross-references (comme Java ou C#), ou est-ce qu'il fait ça d'une manière gore ? (c'est un peu "adouci" par rapport au C avec les .mli faits automatiquement, j'ai l'impression, mais ça doit être assez primaire s'il gère tout comme si c'était tapé dans le top-level -- notamment ça pourrait foirer s'il fait ça naïvement avec des références cycliques, ou des forward references au sein d'un même fichier)
euh, si tu pouvais préciser ta pensée ça m'aiderait à répondre

enfin, c'est sans doute précis mais je comprends que la moitié des termes donc... ^^
Tu veux savoir si deux modules définis dans des fichiers séparés ont le droit de se référencer l'un l'autre dans les deux sens ? je suis pas sûre, mais je ne crois pas (s'ils sont définis dans le même fichier, il n'y a aucun problème, il suffit de les déclarer par module machin = ... and truc = ...)