OCaml Expert

Cette formation a été conçue par OCamlPro pour permettre aux développeurs de tirer parti au maximum des fonctionalités avancées du langage OCaml et de son système de types, tout en écrivant du code compact et efficace. La formation propose aussi un survol des outils et bibliothèques de la communauté, et des mises en pratique au travers de nombreux exercices.

Programme de la formation

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 fonctionalité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

OCaml Expert

Durée: 2 jours Prix: 2000 EUR HT/pers Pratique: 50%
Prérequis
  • OCaml
  • Computers
Public
  • Développeurs
Objectifs Pédagogiques
  • Programmation fonctionnelle, trucs et astuces
  • Le langage de modules et l'application de foncteur
  • La langage de module avancé
  • Les fonctionalités orientées objet
  • Variants polymorphes et labels
  • Les types algébriques généralisés (GADT)
  • Gestion mémoire
  • Intéropérabilité FFI
  • Profiling and Optimizing OCaml Programs

Pierre Chambart (OCaml)

Pierre est ingénieur R&D chez OCamlPro depuis 2013, après une thèse de doctorat en méthodes formelles et un post-doc sur la programmation web en OCaml. Pierre est membre de la coreteam du compilateur OCaml, spécialisé dans la génération de code optimisé. Pierre est aussi l'un des développeurs principaux de la blockchain Tezos en OCaml.

Vincent Laviron (OCaml)

Vincent est ingénieur R&D chez OCamlPro depuis 2015. Après avoir travaillé sur l'adaptation de techniques d'interprétation abstraite à OCaml, Vincent a rejoint l'équipe travaillant sur Flambda, le compilateur optimisant pour OCaml, et aujourd'hui membre de la coreteam du compilateur OCaml.

Évaluation des acquis

L'évaluation des acquis de la formation se fera en séance au travers d'ateliers, d'exercices et/ou de travaux pratiques. Dans le cas d'une formation officielle éditeur, veuillez nous consulter afin que nous vous fassions part des modalités d'évaluation.

A l'issue de la formation, vous sera transmis une évaluation à chaud de l'action de formation qui vous permettra de nous faire part de vos retours quant à votre expérience apprenant avec OCamlPro.

Prise en compte RQTH

Si vous êtes sujet à un handicap, prenez contact avec nos équipes pour que nous puissions définir ensemble comment nous pourrons aménager la session afin que vous puissiez vivre une expérience en formation inchangée.

Ressources pédagogiques

Les ressources pédagogiques sont produites par l'équipes OCamlPro en vue des formations. Les documents sont généralement en anglais, mais peuvent être traduits en français à la demande.

Financement en France

Nos formations ne sont pas éligibles au financement via OPCO (même si la prise en charge couvre la totalité du coût de la formation) en attendant la certification Qualiopi en cours. Non éligible au financement via CPF.

Formation en inter-entreprises

Les horaires pour nos formations inter-entreprises in-situ sont :

  • Début de la formation - 9h30
  • Pause déjeuner - 12h à 13h
  • Fin de la formation - 17h30