Monades - Exercices

Foncteurs & Applicatifs

  1. Donnez la déclaration d'instance qui permet de faire du type fonction partiellement appliquée `(a ->)` un foncteur
  2. Donnez la déclaration d'instance qui permet de faire de ce même type un applicatif

Monades

Soit le type d'expression suivant : `data Exp a = Var a | Val Int | Add (Exp a) (Exp a)`

  1. Faire de `Exp a` un foncteur.
  2. Faire de `Exp a` un applicatif.
  3. Faire de `Exp a` une monade.