Notion de variable de type faible
Exercice 1
Redéfinir la fonction id'
sous forme polymorphe.
Exercice 2
1. Ecrire une fonction first
qui, à un couple (x, y), renvoie le premier élément du couple.
2. Ecrire une fonction last
qui, à un couple (x, y), renvoie le second élément du couple.
3. Finir la construction
#let (++) a b = ( ... , ...);;
pour que l'opérateur (++) puisse être utilisé comme suit
#(1, true) ++ (2, false);;
- : int*bool = 3, false
Le résultat obtenu consiste à faire la somme des premiers composantes et à appliquer un "et" logique sur les secondes composantes.
Exercice 3
Typer et évaluer les 3 constructions suivantes
#let h = function u -> function x -> u x x;;
#let add x y = x+y;;
#h add 4;;