« Premiers pas en OCaml/Premier programme » : différence entre les versions

Une page de Wikiversité, la communauté pédagogique libre.
Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (- d'utiliser + d’utiliser )
m Robot : Remplacement de texte automatisé (-\n(==={0,3})(?: *)([^\n=]+)(?: *)\1(?: *)\n +\n\1 \2 \1\n)
Ligne 7 : Ligne 7 :
}}
}}


== Premier programme OCaml ==
== Premier programme OCaml ==


En OCaml et contrairement à d'autres langage de programmation les expressions finissent par deux points-virgules ''';;'''.
En OCaml et contrairement à d'autres langage de programmation les expressions finissent par deux points-virgules ''';;'''.
Ligne 31 : Ligne 31 :
}}
}}


=== La boucle d'interaction (interactive toplevel) ===
=== La boucle d'interaction (interactive toplevel) ===
La boucle d'interaction fonctionne comme un interpréteur. C'est la méthode la plus simple pour exécuter son programme, mais aussi la plus lente.
La boucle d'interaction fonctionne comme un interpréteur. C'est la méthode la plus simple pour exécuter son programme, mais aussi la plus lente.
Deux solutions, soit :
Deux solutions, soit :
Ligne 52 : Ligne 52 :
L'avantage de la deuxième solutions est que toutes les informations sur les types sont affichées.
L'avantage de la deuxième solutions est que toutes les informations sur les types sont affichées.


=== Le compilateur de code natif ('''native-code compiler''') ===
=== Le compilateur de code natif ('''native-code compiler''') ===
L'avantage de compiler en [[w:Code_natif| code natif]] est de rendre son programme très rapide.
L'avantage de compiler en [[w:Code_natif| code natif]] est de rendre son programme très rapide.
Par contre le programme généré ne sera pas multiplateforme.
Par contre le programme généré ne sera pas multiplateforme.
Ligne 63 : Ligne 63 :
</source>
</source>


=== Le compilateur bytecode ('''bytecode compiler''') ===
=== Le compilateur bytecode ('''bytecode compiler''') ===
L'avantage d’utiliser le [[w:Bytecode|compilateur bytecode]] est de rendre son programme multiplateforme.
L'avantage d’utiliser le [[w:Bytecode|compilateur bytecode]] est de rendre son programme multiplateforme.
Par contre le programme sera plus lent que s'il était compilé en code natif.
Par contre le programme sera plus lent que s'il était compilé en code natif.
Ligne 73 : Ligne 73 :
</source>
</source>


== Références ==
== Références ==
Si vous voulez en savoir plus, n'hésitez pas à jeter un coup d'œil à la documentation officielle.
Si vous voulez en savoir plus, n'hésitez pas à jeter un coup d'œil à la documentation officielle.


=== ocaml ===
=== ocaml ===
{{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/docs/manual-ocaml/manual023.html|commentaire=Documentation officielle d'ocaml}}
{{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/docs/manual-ocaml/manual023.html|commentaire=Documentation officielle d'ocaml}}


=== ocamlopt ===
=== ocamlopt ===
{{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/docs/manual-ocaml/manual025.html|commentaire=Documentation officielle d'ocamlopt}}
{{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/docs/manual-ocaml/manual025.html|commentaire=Documentation officielle d'ocamlopt}}


=== ocamlc ===
=== ocamlc ===
{{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/docs/manual-ocaml/manual022.html|commentaire=Documentation officielle d'ocamlc}}
{{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/docs/manual-ocaml/manual022.html|commentaire=Documentation officielle d'ocamlc}}



Version du 1 août 2017 à 16:53

Début de la boite de navigation du chapitre
Premier programme
Icône de la faculté
Chapitre no 2
Leçon : Premiers pas en OCaml
Chap. préc. :Installation
Chap. suiv. :Types primitifs
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Premiers pas en OCaml : Premier programme
Premiers pas en OCaml/Premier programme
 », n'a pu être restituée correctement ci-dessus.

Premier programme OCaml

En OCaml et contrairement à d'autres langage de programmation les expressions finissent par deux points-virgules ;;.

<expression>;;

et les commentaires commencent par (* et finissent par *).

(* Commentaire *)

Les fichiers OCaml utilisent l'extension .ml. Je vous conseille d’utiliser un éditeur de texte avancé pour créer et éditer vos fichiers .ml.

Créons par exemple notre premier fichier bonjour_le_monde.ml.

Début de l'exemple
Fin de l'exemple


La boucle d'interaction (interactive toplevel)

La boucle d'interaction fonctionne comme un interpréteur. C'est la méthode la plus simple pour exécuter son programme, mais aussi la plus lente. Deux solutions, soit :

> ocaml bonjour_le_monde.ml

bonjour le monde !

soit :

> ocaml

puis

#use "bonjour_le_monde.ml";;

Bonjour le monde !
- : unit = ()

L'avantage de la deuxième solutions est que toutes les informations sur les types sont affichées.

Le compilateur de code natif (native-code compiler)

L'avantage de compiler en code natif est de rendre son programme très rapide. Par contre le programme généré ne sera pas multiplateforme.

ocamlopt bonjour_le_monde.ml -o hello
./hello

Bonjour le monde !

Le compilateur bytecode (bytecode compiler)

L'avantage d’utiliser le compilateur bytecode est de rendre son programme multiplateforme. Par contre le programme sera plus lent que s'il était compilé en code natif.

ocamlc bonjour_le_monde.ml -o hello
./hello

 Bonjour le monde !

Références

Si vous voulez en savoir plus, n'hésitez pas à jeter un coup d'œil à la documentation officielle.

ocaml

Document au format H T M L[html]le document est sous une licence copyright[licence Copyright](en)lien vers le document • Documentation officielle d'ocaml

ocamlopt

Document au format H T M L[html]le document est sous une licence copyright[licence Copyright](en)lien vers le document • Documentation officielle d'ocamlopt

ocamlc

Document au format H T M L[html]le document est sous une licence copyright[licence Copyright](en)lien vers le document • Documentation officielle d'ocamlc