Annexe D - Messages d'erreurs de l'interprète du langage▲
Syntax error message d'erreur lorsqu'une phrase (expression ou déclaration) est malformée.
2.
3.
4.
# 1
+
;;
Syntax error
# let
=
3
+
1
;;
Syntax error
This expression has type… but is here used with type… message d'erreur lorsqu'une expression n'est pas typable par inadéquation des types de certaines sous-expressions.
2.
3.
4.
# 1
+
2
. ;;
This expression has type
float
but is here used with
type
int
# print_string
(1
);;
This expression has type
int
but is here used with
type
string
Unbound value … message d'erreur lorsque dans l'évaluation d'une expression une variable non préalablement déclarée intervient.
2.
# a +
1
;;
Unbound value a
Unbound constructor … message d'erreur lorsque dans une expression intervient un constructeur non déclaré. En Caml, les constructeurs sont désignés par des identificateurs débutant par une lettre majuscule.
2.
3.
4.
# init_tas(2
,TT);;
Unbound constructor TT
# let
a =
1
in
a*
a +
A ;;
Unbound constructor A
This function is applied to too many arguments, maybe you forgot a ';' message d'erreur lorsqu'on précise davantage de paramètres qu'il n'est nécessaire.
2.
3.
4.
# let
f(x) =
x +
1
;;
val
f : int
->
int
=
<
fun
>
# f(1
)(2
);;
This function
is applied to
too many arguments, maybe you forgot a ';'
This expression is not a function, it cannot be applied message d'erreur lorsqu'on essaie d'utiliser une valeur comme une fonction…
2.
3.
4.
# let
a =
3
;;
val
a : int
=
3
# a(4
);;
This expression is not
a function
, it cannot be applied