983 B
983 B
Haskell 24
Exercice 1
- Cette expression crée le type
Vector tet appeleprintsur une instance de ce type. Sauf que Haskell râle car le type susnommé n'a pas la classeShow. - En indiquant que Vector a la classe
Show, alors ..... ben elle peut être affichée.
Exercice 2
- Dans la première expression, Haskell ne sait pas comment comparer ou tester l'égalité des éléments de type
Cardcar le type n'est pas de la classeEqniOrd. Dans le second cas, on a précisé les classes, donc Haskell est capable d'inférer les opérateurs d'égalité et de définition (se basant sur l'ordre des déclarations des constructeurs). - L'expression suivante crée un type Objet avec trois constructeurs, et définit comment l'objet instantie la classe
Eq.
- Pour définir
Eq, il faut définir== - Pour définir
Ord, il faut définircomparede type `a -> a -> Ordering - Pour définir
Show, il faut définirshowde typea -> String.