AP2, 9 h – 12 h 15

Slides de la séanceLe parcours de la séance

Comment suivre la séance

Chaque étape suit le même rythme : quelques slides de cours, un atelier dans Livebook, puis une reprise ensemble. Ouvrez le notebook au moment de la consigne « À vous », et recopiez vos propres modules d’une étape à la suivante. Juste avant chaque consigne, une slide rappelle les formes Elixir que le notebook utilise.

À vous de jouer dans Livebook

1. Une calculatrice, puis ses limites

Calculez au fil de la lecture, puis confrontez votre règle aux priorités et aux parenthèses. Gardez un contre-exemple à discuter.

Slides 5 à 11Elixir : defp, gardes when, with · poly, chap. 4 et 5.

Run in LivebookTélécharger le .livemd

2. Conserver le calcul dans un arbre

Reprenez votre code, construisez un AST et séparez lecture et évaluation. Faites apparaître les priorités dans la forme de l’arbre.

Slides 12 à 25Elixir : tuples imbriqués, case, une clause par nœud · poly, chap. 2, 4 et 5.

Run in LivebookTélécharger le .livemd

3. Des noms et des fonctions

Ajoutez un environnement, des paramètres et un appel. Que manque-t-il à une fonction dont le corps utilise un nom extérieur ?

Slides 27 à 35Elixir : liste de couples, récursion sur le reste, Enum.zip/2 · poly, chap. 3 à 5.

Run in LivebookTélécharger le .livemd

4. Une fonction garde son contexte

Distinguez l’environnement de définition de celui de l’appel. Construisez une fermeture, puis une fonction qui fabrique une autre fonction.

Slides 36 à 44Aucune forme Elixir nouvelle : seule la valeur produite change · poly, chap. 5, fermetures.

Run in LivebookTélécharger le .livemd

5. Choisir ce qui sera exécuté

Ajoutez les booléens et case. Une branche contient une division par zéro : dans quelles conditions le programme réussit-il ?

Slides 45 à 53Elixir : case, assert_in_delta · poly, chap. 2 et 5.

Run in LivebookTélécharger le .livemd

Rendu

Cycle 1 · AP1–AP3 — dimanche 6 décembre 2026 à 23 h 59

Gardez vos étapes dans AP2/. Je préciserai en cours les notebooks à terminer, les cellules attendues et le point d’arrêt, selon notre avancement. Un seul rendu réunit AP1–AP3 ; nous en reparlerons à l’oral en AP4. Les prolongements non demandés restent facultatifs.

Comment rendre

Laboratoires et défis facultatifs

Ces exercices sont facultatifs. Gardez vos essais dans entrainement/ ; pour un bonus, joignez les notebooks choisis au rendu annoncé en cours. Vous pouvez reprendre une notion ou explorer un point plus avancé.

Pour reprendre une notion

Laboratoire facultatif — Un lexer d’entiers

Une version réduite pour reprendre les préfixes et l’accumulateur. Elle utilise des entiers et ne fait pas partie du langage d’AP2.

Run in LivebookTélécharger le .livemd

Laboratoire facultatif — Vérifier des parenthèses

Comptez les ouvertures encore en attente de fermeture et refusez les chaînes invalides.

Run in LivebookTélécharger le .livemd

Pour aller plus loin

6. Des arbres aux graphes de dépendances

Facultatif : parcourir des dépendances, éviter les visites répétées, détecter un cycle et proposer un ordre de calcul.

Run in LivebookTélécharger le .livemd

Les défis de la séance

Des exercices plus durs, énoncés secs, zéro solution. Pour ceux qui ont fini le livebook et en veulent encore.

Run in LivebookTélécharger le .livemd

Un bout de syntaxe oublié ?

Le poly reprend le langage aux chapitres 1 à 4, avec ses exemples et leurs résultats. Pour cette séance, relisez le chapitre 5.

Retour à l'accueil