{{tag>programmation BROUILLON}}
----
====== Objective Caml ======
Ocaml est le successeur de Caml Light. C'est un langage multi-paradigmes, qui peut être interprété et compilé.
Pour le CamlLight, voir [[caml_light|ici]] :)
=====Installation=====
Pour installer OCaml et ses dépendances, il suffit d'installer le paquet **[[apt>ocaml]]**
sudo apt-get install ocaml
Le métapaquet **[[apt>ocaml-core]]** installe OCaml, ses dépendances et de nombreux outils dont **[[apt>ocaml-tools]]**
=====Utilisation=====
====Interpréteur====
Pour lancer l'interpréteur, on entre la commande suivante dans un terminal :
ocaml
Pour plus de flexibilité, on peut lancer l'interpréteur avec la commande suivante :
ledit ocaml
Pour quitter l'interpréteur, il faut entrer (avec le #) :
#quit ;;
====Compiler====
Pour compiler, on utilise **ocamlc** :
ocamlc -o programme code_source.ml
Pour exécuter le programme, il suffit ensuite de l'exécuter :
./programme
=====Editeurs de texte=====
====Vim====
Le paquet **[[apt>ocaml-tools]]** fournit **omlet** qui améliore l'indentation de code OCaml dans **[[:Vim]]**.
====Geany====
Pour que **[[:Geany]]** sache qu'il s'agit de code OCaml, il suffit de sélectionner dans les menus : //Document -> Définir le type de fichier -> Langages de programmation -> Fichier source (O)Caml// ou bien d'enregistrer le fichier au format *.ml.
====Emacs====
FIXME((utilisateur d'emacs requis pour tester ces paquets))
===ocaml-mode===
Le paquet **[[apt>ocaml-mode]]** vise à améliorer la prise en charge d'OCaml dans **[[:Emacs]]**
===tuareg-mode===
Le paquet **[[apt>tuareg-mode]]** a pour objectif d'obtenir de meilleurs résultats que **ocaml-mode**
====gEdit====
Propose la coloration syntaxique. Il est facile d'écrire des scripts "external tool" pour améliorer le développement en OCaml.
=====Liens=====
* (fr) [[https://caml.inria.fr/ocaml/index.fr.html|Présentation générale]]
* (en) [[http://caml.inria.fr/pub/docs/manual-ocaml/index.html|Documentation and user's manual]]
* (en) [[http://mirror.ocamlcore.org/ocaml-tutorial.org/|Objective CAML Tutorial]]
* (fr) [[http://mirror.ocamlcore.org/ocaml-tutorial.org/fr.html|Tutoriel Objective CAML]] (traduction du tutoriel ci-dessus, non terminée)
* (fr) [[http://mirror.ocamlcore.org/caml.inria.fr/resources/doc/guides/guidelines.fr.html|Conseils de programmation Caml]]
* (en) [[http://queue.acm.org/detail.cfm?id=2038036|OCaml for the masses]]
----
//Contributeurs principaux : [[:utilisateurs:Kshegzyaj]]//