Forum de discussion pour l'UE Programmation Fonctionnelle en OCaML

Erreur de type ou fonction inexistante! (OCaml)

Erreur de type ou fonction inexistante! (OCaml)

par Hadrien Franco,
Nombre de réponses : 1

Erreur de type ou fonction inexistante! (OCaml)

par Hadrien Franco, samedi 19 octobre 2019, 21:39
Nombre de réponses : 1

Erreur de type ou fonction inexistante!

--------------------------------
Error: This expression has type Type.region * couleur * int
but an expression was expected of type vin

avec
type region = Medoc | Graves | Alsace | Beaujolais | Touraine | Bourgogne
// celui la je ne l'ai pas mis dans le moodle comme demandé

type couleur = Blanc | Rouge | Rose

type vin = V of region * couleur * int


je ne comprends pas le message d'erreur

voici ce qui se passe chez moi

val color_of : vin -> couleur = <fun>
val year_of : vin -> int = <fun>
val region_of : vin -> region = <fun>
val bordeaux_p : vin -> bool = <fun>
val has_color_p : vin -> couleur -> bool = <fun>
val after_year_p : vin -> int -> bool = <fun>


En réponse à Hadrien Franco

Re: Erreur de type ou fonction inexistante! (OCaml)

par Irene Durand,
Il est demandé de représenter un vin par un triplet donc sans constructeur.
Il faut donc écrire
type vin = region * couleur * int