17 lines
1.0 KiB
Markdown
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)`
|
|
|