Programmation Fonctionnelle Avancée

Examen du 19/12/2023

But du cours

Ce cours est la suite du cours de L2 « Introduction à la programmation fonctionnelle » et d'une partie du cours de L2 « Outils Logiques et Algorithmiques ». On y présente :

Le langage utilisé dans le cours est le langage OCaml.

Travailler avec OCaml

Les tutoriels suivants permettent d'installer OCaml sur votre machine ou de travailler à distance avec OCaml sous l'environnement JupyterHub. Un glossaire liste les termes utilisés, n'hésitez pas à le consulter si certains termes semblent obscurs.

Instruction pour les TPs

Pour les TPs, nous utilisons l'éditer Visual Studio Code. Lors de votre premier TP il faudra effectuer les commandes suivantes, une fois seulement :

echo 'source /public/kn/setup_ocaml.sh' >> ~/.bashrc code --install-extension ocamllabs.ocaml-platform

Vous pouvez ignorer les messages de la seconde commande

Plan du cours, supports de cours et de TP

  1. Cours 1 : Présentation, rappels sur le langage OCaml. cours 1 en HTML5 , cours 1 en PDF et version imprimable .
  2. Cours 2 : Rappels sur le langage OCaml (fin). cours 2 en HTML5 , cours 2 en PDF et version imprimable .
  3. Cours 3 : Arbres binaires de recherche (1). cours 3 en HTML5 , cours 3 en PDF et version imprimable .
  4. Cours 4 : Modules, Foncteurs et compilation séparée. cours 4 en HTML5 , cours 4 en PDF et version imprimable .
  5. Cours 5 : Modules, Foncteurs et compilation séparée (fin) cours 5 en HTML5 , cours 5 en PDF et version imprimable .
  6. Cours 6 : Traits impératifs d'OCaml cours 6 en HTML5 , cours 6 en PDF et version imprimable .
  7. Cours 7 : Tables de hachage cours 7 en HTML5 , cours 7 en PDF et version imprimable.
  8. Cours 8 : Trie (traille) cours 8 en HTML5 , cours 8 en PDF et version imprimable.
  9. Cours 9 : Trie (fin), modèle mémoire OCaml cours 9 en HTML5 , cours 9 en PDF et version imprimable.
    • Continuer le TP 8
  10. Cours 10 : Étude de cas cours 10 en HTML5 , cours 10 en PDF et version imprimable.
  11. Cours 11 : Étude de cas, backtracking cours 11 en HTML5 , cours 11 en PDF et version imprimable.
  12. Cours 12 : Révisions cours 12 en HTML5 , cours 12 en PDF et version imprimable.

Information pratiques