~~NOTOC~~ ====== Programmation fonctionnelle pour le Web (PFW2) ====== ===== Description ===== L'objectif de ce module est d'apprendre à : * utiliser des fonctionnalités supplémentaires du langage OCaml (par rapport à celles vues en cours d'introduction à la programmation fonctionnelle) : types inductifs, effets de bord, modules ; * écrire en OCaml des clients web capables d'envoyer et recevoir des données au format JSON. ===== Syllabus ===== ==== Sujets centraux ==== - Types algébriques * Listes (rappel) * Arbres * Types inductifs en général - Traits impératifs d'OCaml * Enregistrements modifiables et références * Tableaux et boucles * Exceptions * Interférences (//aliasing//) - Modules * Utilisation de modules de la bibliothèque standard, notamment les conteneurs (String, List, Map, Set, etc.) * Définition de nouveaux modules * Signatures et types abstraits * Compilation séparée - Web * Représentation de documents HTML * Manipulation de données JSON * Communication avec un serveur web ===== Pré-requis ===== Ce module s'adresse à des étudiant(e)s ayant suivi le cours d'[[ipf1|introduction à la programmation fonctionnelle (IPF)]].