projprog/HSK3.md

17 lines
1.0 KiB
Markdown

# Haskell 3
### Exercice 1
1. Attention, révolution dans la science informatique. En effet ! Haskell prend une position assez précaire en définissant le type booléen avec non pas un, non pas trois, mais deux valeurs ! Veuillez applaudir Messieurs et Mesdames : `True` et `False`.
2. Ben ... Elles fournissentTrue || (True && False) le résultat attendu (avec une précédence plus élevée pour le `not`, et égale entre `&&` et `||`.
3. L'expression `True && 1` est invalide car `True` est un booléen et `1` est un entier (c'est bien le typage fort).
### Exercice 2
1. L'opérateur `==` compare deux valeurs et renvoie `True` si elles sont égales, `False` sinon.
2. Les autres opérateurs sont `<` «plus petit que», `<=` plus petit ou égal à, `>` et `>=` les symetriques des deux précédents et `/=` différent de.
3. Les opérateurs ont l'effet attendu.
4. Tous ces opérateurs ont la même précédence (4).
5. Non c'est incorrect car ils ont tous la même précédence.
6. Une bonne écriture serait `(1==2)/=(1==1)`