à suivre (en construction)
Accueil > Enseignement > Anciens cours (avant 2015-2016) > Programmation fonctionnelle (L3, 2013-2014)
Programmation fonctionnelle (L3, 2013-2014)
Cours TD et TP de programmation fonctionnelle en licence 3, en CAML.
-
Ramasseuse d’étoiles
15 avril 2014, par Pierre -
Semaine 8 – Interprète d’un mini-langage (3)
1er avril 2014, par PierreL’interprète du mini-langage consiste essentiellement en la définition du type des programmes et d’une fonction run. Des instructions sans paramètres "Nord" "Sud" "Est" "Ouest" ont fait leur apparition de façon à déplacer un objet sur plan quadrillé. Pour cela, la fonction run prend non seulement en paramètre un programme du mini-langage mais aussi une fonction qui gère les déplacements (et qui pourrait éventuellement affecter les variables).
-
Graphismes pour le jeu en caml
20 mars 2014, par PierreQuelques indications pour trouver des graphismes agréables et libres de droits et pour les intégrer à vos programmes en caml.
-
Semaine 7 – Interprète d’un mini-langage (2)
19 mars 2014, par PierreSemaine 7. Après les expressions, les instructions. L’affectation permet de fixer la valeur de variables impératives que l’on a commencé par représenter comme des cases d’un tableau d’entiers, l’état du programme. On améliore ensuite le langage et son interprète, avec également une petite adaptation de l’évaluateur d’expressions, de façon à manipuler des variables par leurs noms (une chaîne de de caractères). Les variables doivent être déclarées et elles ont désormais une portée. Une variable plus locale masque temporairement une variable de même nom déclarée dans un bloc de niveau supérieur.
-
Semaine 6 – Interprète d’un mini-langage (1)
12 mars 2014, par PierreSemaine 6. Évaluation d’expressions arithmétiques simples sur les entiers et ajout des variables impératives. Quelques explications sur le projet, à suivre dans un autre document (importation d’images png, transformations affines en coordonnées homogènes, plateau de jeu, objets mobiles).
-
Semaine 5 – Aspects impératifs, graphiques
20 février 2014, par PierreEncore un peu de récursion terminale (des corrections). Expression à évaluer (étant donné son arbre). Aspects impératifs : unit, for et while, enregistrements avec champs mutables, références, tableaux. Mode graphique.
-
Semaine 4 – récursion terminale (tail recursion), persistance, plus de syntaxe
18 février 2014, par PierreRécursion terminale / tail recursion (pour éviter les débordements de pile / stock overflow). Du sucre syntaxique pour la correspondance de motifs (match with, gardes de motifs, regroupement de motifs, alias). Quelques explications sur la persistance et le ramassage automatique des miettes (garbage collecting).
-
Semaine 3 – Arbres binaires de recherche
7 février 2014, par PierreImplémentation des arbres binaires de recherche.
-
Semaine 2 – Types sommes (sans paramètre)
4 février 2014, par PierreTypes sommes en caml et types inductifs (sans variable de type en paramètre). Comparaison avec les types unions en C.
-
Semaine 1 — Premiers pas en Caml
16 janvier 2014, par PierrePremières prise de contact avec le langage et le REPL. Typage. Types de base, listes, tuples, fonctions, correspondance de motifs (pattern-matching). Pour que les fonctions soient des objets de première classe il faut associer à chaque fonction non seulement son code mais aussi son contexte (sa clôture). Illustration de cette nécessité des clôtures par ce dont son absence nous prive, avec un exemple en langage C.