Ce cours a pour vocation d’être une alternative à l’UE d’INF201 (programmation fonctionelle en OCaml) de l’Université de Grenoble-Alpes (UGA). En effet, cette UE est pour beaucoup assez ennuyante et a tendance à dégoûter les étudiant·e·s du langage, alors qu’OCaml peut s’avérer très intéressant. Nous ne savons pas si nous arriverons à faire mieux, mais ça ne coûte rien d’essayer. Ce cours ne couvrira donc que les bases du langage OCaml, et s’adresse principalement aux personnes ayant des bases en Python. Il se base sur ce qui a été vu en INF201 en 2020, et ne sera donc peut-être pas totalement à jour si les programmes changent les années suivantes.
Nous utiliserons les conventions suivantes :
- Les sections « Bonus » abordent des notions qui ne sont pas dans le cours d’INF201, mais intéressantes, et que vous pouvez lire si vous voulez aller plus loin.
- Les notions importantes à comprendre sont toujours en gras.
Note importante : il est conseillé de tester les exemples de code au fur et à mesure, et de bien les comprendre avant de passer à la suite. Créer vos propres exemples aide aussi beaucoup à assimiler les nouvelles notions.
- Notions de base
- Conditions et pattern-matching
- Modéliser des données
- Récursivité
- Coder, et bien coder
- Polymorphisme
- Ordre supérieur
- Le type list d’OCaml
- Les arbres
- Annexes
Si vous avez des remarques ou des suggestions, vous pouvez nous en faire part en écrivant un mail à ocaml arobase gelez point xyz
.