Ce projet consiste à compléter l'interpréteur pour le langage Psil défini au niveau du TP1, écrit en Haskell, afin d'y ajouter une dynamique de typage statique. L’objectif principal est de :
- Corriger le type 
Lexppour ajouter les modifications de syntaxe; - Ajouter les types algébriques à (
s2l) et la syntaxe du typage statique; - Compléter la fonction d'évaluation 
evalpour gérer l'évaluation des Lexp; - Implémenter la fonction de vérification de typage correct (
check) ; - Fournir au moins six tests Psil dans 
tests.psilpour valider l'implémentation ; - Rédiger un rapport (
rapport.tex) décrivant votre démarche (problèmes rencontrés, choix effectués, etc.). 
Le langage Psil supporte :
- Les entiers signés et les variables ;
 - Les appels de fonctions (forme curried) ;
 - Les abstractions et définitions locales (
abs,def) ; - Les opérations arithmétiques prédéfinies (
+,–,*,/, …) ; - Les constructeurs et le filtrage sur données (pattern matching) ;
 - Les expressions conditionnelles sous forme de 
filter(équivalent deif); - La définition de types algébriques (
adt). - Le typage statique et la vérification de types.
 
├── psil.hs            # Code source Haskell fourni ; à compléter (s2l et eval)
├── tests.psil         # Fichier de tests Psil : contient ≥ 6 exemples commentés
├── rapport.tex        # Rapport (LaTeX) décrivant l’expérience et les choix
└── README.md          # Ce fichier
    ghci> :load "psil.hs"
    ghci> run "tests.psil"- Josué Mongan
 
GitHub : Josh012006
- David Stanescu
 
GitHub : DavidStanescu13