Présents : tout le monde Contenu :
- éclaircissements sur la première lectures de l’article
- explication de déductions syntaxiques à travers d’exemples concrets grâce au repl GHCI
- présentation de l’unification et son application dans notre cas
Next steps : bien maitriser l’algo et pouvoir dérouler des exemples sur le papier
Ce qu’on a compris :
- faire un REPL qui permet de vérifier la concordance des types
- de retourner le type de l’expression ou une erreur le cas échéant.
- a partir d'une expression quelconque, utiliser les règles de déduction syntaxique pour raffiner le types de cette expression
- dans certains cas, quand les types sont plus complexes, on doit avoir recours à l'unification (une fois que nous aurons bien compris l'algorithme qui permet de trouver le type d'une expression, nous nous concentrerons sur l'unification)
Travail effectué :
- Dérouler de l'algorithme sur des exemples passants et non passants
- Lecture et analyse du code pour améliorer la compréhension de l'algorithme (au niveau des FTV par exemple)
Proposition travail supplémentaire :
- Ajout d'éléments dans le langage (opérations algébrique de base, condition IF, …)
- Système de liste
Travail à venir :
- Continuer de dérouler l'algorithme (avec une analyse plus poussée du code) sur des exemples plus complets / complexes ou "limites"
Objet de la réunion :
- Vérification de la compréhension de l'algo à travers les exemples déroulés
- Précisions sur l'instanciation et la généralisation
- Travail supplémentaire
Contenu :
- Validation de la version de l'algo utilisé
- Dérouler des exemples et validation de la compréhension de ceux-ci
- Définition du travail supplémentaire à effectuer :
- Créer une grammaire pour le parser
- Ajouter les opérations arithmétique
- Début de l'implémentation : réflexion sur l'implémentation d'une expression et des types (représentation, patterns, ...)
- Réflexion sur la grammaire du langage
- Implémentation d'une expression et des types
- Première version minimale d'un solveur
- Implémentation de tests unitaires
- Travail sur la grammaire du langage
- Implémentation d'un parseur, d'un REPL minimal, et branchement avec l'algorithme d'inférence
- Implémentation de la fonctionnalité "if then else"
- Ajout de commandes sur le REPL (afficher/cacher les logs, afficher l'aider, quitter)
- Amélioration du REPL
- Correction de bugs
Nous avons utilisé Github pour ce projet, voici le lien : https://github.com/anaelChardan/IMT-Recherche