Recherche…


Bonjour le monde

Cet exemple suppose que vous avez installé OCaml .

Compilation du code OCaml

Créez un nouveau fichier nommé hello.ml , avec le contenu suivant:

print_string "Hello world!\n"

ocamlc est le compilateur OCaml. Pour compiler et exécuter ce script, exécutez

$ ocamlc -o hello hello.ml

puis exécutez le binaire résultant

$ ./hello
Hello world!

Exécution du code OCaml

Vous pouvez également exécuter ce script sans le compiler dans un fichier binaire. Vous pouvez le faire en utilisant ocaml , le système ocaml toplevel qui permet l'utilisation interactive d'OCaml. Dans votre coque, lancez simplement

$ ocaml hello.ml
Hello world!

Dans le REPL

Ouvrez un nouveau shell et tapez ocaml pour ouvrir le système de niveau supérieur. Une fois dans la session, vous pouvez taper le même programme:

       OCaml version 4.02.1

# print_string "hello world!\n";;

appuyez sur Entrée pour évaluer l'expression et déclencher l'impression.

hello world!
- : unit = ()

Succès! On le voit imprimé hello world! , mais quel est le - : unit = () propos de? OCaml n'a pas d'instructions, tout est une expression qui évalue une valeur typée. Dans ce cas, print_string est une fonction qui prend une string en entrée et retourne une unit . Considérez l' unit comme un type qui ne peut prendre qu'une valeur, () (également appelée unité) et représente un calcul terminé qui ne renvoie aucune valeur significative.

Dans ce cas, print_string aussi pour effet secondaire de mettre des caractères reçus en entrée sur l'écran, ce qui explique la première ligne.

Pour quitter le REPL, appuyez sur ctrl+D

En tant que script Unix

Nous avons deux façons de créer un script OCaml. Le premier utilise le niveau supérieur du système (fourni par votre gestionnaire de paquets comme apt-get ) et le second utilise le niveau supérieur fourni par OPAM .

Utilisez le toplevel du système

Ouvrez votre éditeur favori et écrivez:

#!/usr/bin/ocaml

print_string "hello worlds!\n";;

Après, vous pouvez utiliser chmod +x your_file.ml et vous pouvez exécuter votre script avec ./your_file.ml .

Utilisez le toplevel fourni par OPAM

#!/usr/bin/env ocaml

print_string "hello worlds!\n";;

La grande différence concerne la version de votre niveau supérieur. En effet, si vous avez configuré votre OPAM avec un commutateur spécifique (comme le opam switch 4.03.0 ), le script utilisera OCaml 4.03.0. Dans Debian Sid, par exemple, le script utilisera OCaml 4.02.3.

Vous pouvez remplacer le shebang par #!/usr/bin/env utop pour utiliser utop plutôt que le utop toplevel.

utop

utop est un autre ocaml toplevel en dehors de la distribution - cela signifie que vous devez télécharger et installer utop (le moyen le plus simple est d'utiliser OPAM: opam install utop ). utop a de nombreuses fonctionnalités comme l'historique, l'achèvement et l'édition de ligne interactive.

Donc, si vous voulez un moyen facile d’essayer certains codes utop , utop est le meilleur.

Pourquoi utop et pas ocaml ?

utop et ocaml n'ont pas une grande différence si vous voulez un script ocaml comme ci-dessus. Mais la chose commune dans la communauté OCaml est d'utiliser utop place d' ocaml .

En fait, la REPL ocaml est fournie par la distribution ocaml. Donc, cette REPL suit le cycle de publication du compilateur et si vous voulez des fonctionnalités supplémentaires, vous devez attendre la prochaine version du compilateur. utop , comme nous l'avons expliqué, est en dehors de la distribution, donc le cycle de publication n'est pas contraint par le compilateur et si vous voulez une fonctionnalité supplémentaire, vous serez plus enclin à pousser cette fonctionnalité dans utop ocaml :)!

Pour ce point (et pour la fonctionnalité historique), la plupart des utilisateurs de la communauté ocaml préfèrent utiliser utop que ocaml .



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow