Program
(to be translated soon...)
Programmation fonctionnelle, trucs et astuces
- Échauffement: vocabulaire (accumulateur et continuation)
- Structure de données persistante
- Exécution paresseuse
- FIFO persistante
- Bibliographie
Le langage de modules et l'application de foncteur
- Les modules Toplevel (unités sources, compilation séparée, interface, compilation, documentation)
- Abstraction (réécriture de structure et parties cachées, types abstraits et privés)
- Le langage de module (modules locaux, signatures locales, exemple, abstraction, composition)
- utilisation des foncteurs standards (application, Set et Map)
La langage de module avancé
- Définition de foncteurs (définition, exemple, signatures, applications)
- Modules de premiere classe
- Code Review: OCamlGraph
Les fonctionnalités orientées objet
- Les objets (définition et appel de méthodes, types des objects, variables d'instance, fermeture d'objets, récursion)
- Les objets et le polymorphisme (types d'objets paramétriques, méthodes polymorphes, types récursifs, polymorphisme de rangée, coercions)
- Les classes (classes vs objets immédiats, définition et interface, types de classes, classes paramétriques)
- Les objets et le polymorphisme (héritage, méthodes privées, méthodes virtuelles et classes virtuelles)
- Utilisation avancée (traits, méthodes amies, transtypage, mappers extensibles)
Variants polymorphes et labels
- Arguments labellés et optionnels
- Variants polymorphes
- Utilisation avancée
Les types algébriques généralisés (GADT)
- Définition
- Typage
- Utilisation avancée
Gestion mémoire
- Représentation uniforme des données
- Ramasse miettes (GC)
Intéropérabilité FFI
- Interface bas-niveau avec C
- Génération automatique
Profiling and Optimizing OCaml Programs
- An optimising compiler
- Manual optimisation
- Debugging & profiling