Erreur: module non lié Unix dans Ocaml

J’ai commencé à programmer avec Ocaml il y a 2 jours, j’ai parcouru les bases et je voulais essayer de créer des processus.

Dans le livre, j’utilise le dit me pour utiliser le module Unix, jusqu’ici tout va bien … Mais j’obtiens cette erreur lorsque j’essaie d’exécuter un code simple qui imprime l’heure:

open Unix ;; let t = Unix.localtime (Unix.time ());; Printf.printf "Today is day %d of the current year.\n" t.tm_yday ;; 

Et je reçois cette erreur:

Error: Unbound module Unix

J’ai cherché une réponse à cela et j’ai trouvé que je devais comstackr mon code avec “unix.cma” lié, après cela j’ai pu comstackr, mais le code ne fait rien.

Je sais que cela pourrait être une question très noobre, mais je ne peux pas continuer sans cela. Une bibliothèque est-elle manquante?

Si je cours au plus haut niveau, il est dit que le #load is and unbound value also !

Merci pour votre temps!

Modifier:

Je le recomstack avec le “unix.cma” lié, et obtiens la même erreur: Error: Unbound module Unix

Peut-être un problème de bibliothèque?

J’ai fait ocamlc – et tout semble aller bien, ce qui signifie que toutes les bibliothèques habituelles sont dans le PATH, y compris unix.cma

Résolu

Tout était dû à une mauvaise installation d’Ocaml. Merci Jeffrey Scofield

Ça marche ici pour moi. Voici une session de niveau supérieur (Mac OS X 10.8.2):

 $ ocaml OCaml version 4.00.0 # #load "unix.cma";; # open Unix;; # let t = Unix.localtime (Unix.time ());; val t : Unix.tm = {tm_sec = 39; tm_min = 27; tm_hour = 16; tm_mday = 3; tm_mon = 11; tm_year = 112; tm_wday = 1; tm_yday = 337; tm_isdst = false} # Printf.printf "Today is day %d of the current year.\n" t.tm_yday;; Today is day 337 of the current year. - : unit = () # 

Voici une session avec le compilateur:

 $ cat doy.ml open Unix let t = Unix.localtime (Unix.time ());; Printf.printf "Today is day %d of the current year.\n" t.tm_yday $ ocamlc -o doy unix.cma doy.ml $ doy Today is day 337 of the current year. 

Si cela ne fonctionne pas pour vous, ma seule théorie est que votre installation OCaml n’est pas terminée. Quel type de système utilisez-vous?