Caml différence fun et function

Messages : 0

Inscription : 20 janv. 2018 11:46

Profil de l'utilisateur : Élève de lycée

Caml différence fun et function

Message par Asmaras » 26 janv. 2018 11:52

Salut,

J'apprends le Caml Lite depuis peu, et je viens d'observer un comportement différent entre l'usage de fun et function que je croyais équivalents :
Image
Quelle est donc la différence, et pourquoi la première fonction n'est-elle pas correcte ?

Merci d'avance.

Messages : 0

Inscription : 11 déc. 2015 08:24

Profil de l'utilisateur : Élève de lycée

Re: Caml différence fun et function

Message par left_shift » 26 janv. 2018 13:32

fun peut prendre un nombre arbitraire d'arguments, contrairement à function. La contrepartie est que lors d'un filtrage il est nécessaire, pour que le compilateur puisse distinguer les différents motifs et leur nombre, que les motifs construits, tels t::q, soient entourés de parenthèses.

Remplace la 3e ligne par (h::q) -> ... et tout rentrera dans l'ordre.

Messages : 0

Inscription : 20 janv. 2018 11:46

Profil de l'utilisateur : Élève de lycée

Re: Caml différence fun et function

Message par Asmaras » 26 janv. 2018 13:37

Merci, je comprends mieux

Répondre