Bonjour à tous,
Je m'attaque à la compréhension de la gestion des types en Caml et voici quelque chose que je ne m'explique pas, peut-être pourrez-vous m'aider à comprendre :
[EDIT]
J'essaie d'obtenir une fonction du type
[/EDIT]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 f : ('a -> 'b) -> 'a1 -> 'a2 -> 'b1 * 'b2 = <fun>
A priori, je pensais qu'il fallait utiliser un let :
Ici ca marche, j'utilise un let, id a été déclarée au préalable :
Ici, ca ne marche pas, pourtant j'utilise la même structure au sein de la fonction....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #let fonc' = fun x -> (id x) in fun x y -> (fonc' x, fonc' y);; - : 'a -> 'b -> 'a * 'b = <fun>
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #let f id = let fonc' = fun x -> (id x) in fun x y -> (fonc' x, fonc' y);; f : ('a -> 'b) -> 'a -> 'a -> 'b * 'b = <fun>
Partager