Formation OCaml - Avancé

Durée 2 jours
Niveau Intermédiaire
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence CAML
Éligible CPF Non

Cette formation OCaml Avancé a été conçue pour permettre aux développeurs de tirer parti au maximum des fonctionnalité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.

Objectif opérationnel : 

Savoir tirer parti des fonctionnalités avancées du langage OCaml tout en écrivant du code compact et efficace.

Objectifs pédagogiques : 

À l'issue de cette formation OCaml Avancé vous aurez acquis les connaissances et les compétences nécessaires pour : 

  • Maîtriser les concepts avancés du système de types
  • Pouvoir interfacer un programme OCaml avec une bibliothèque C
  • Débugger et optimiser un programme en mémoire et en vitesse
  • Écrire du code efficace et compact

Public :

Ce cours OCaml Expert s'adresse exclusivement aux développeurs.

Prérequis :

Pour suivre cette formation OCaml Avancé il est nécessaire d'avoir connaissances préalables d'OCalm. Vous pouvez les acquérir en suivant la formation OCaml programmation fonctionnelle avec OCaml (PROC).

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 première classe
Code Review : OCamlGraph

Les fonctionnalités orientées objet

Les objets (définition et appel de méthodes, types des objets, 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)

Interopérabilité FFI

Interface bas-niveau avec C
Génération automatique

Débuggage, profilage et optimisation

Le compilateur optimisant
Le manuel d'optimisations
Les outils de débuggage et de profilage

Les travaux pratiques représentent 50% du temps de formation.

Date de mise à jour du programme : 18/03/2024


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB