Caml différence fun et function

Modérateur : Michel Quercia

Répondre
Asmaras
Messages : 6
Enregistré le : sam. janv. 20, 2018 12:46 pm

Caml différence fun et function

Message par Asmaras » ven. janv. 26, 2018 12:52 pm

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.

left_shift
Messages : 27
Enregistré le : ven. déc. 11, 2015 9:24 am

Re: Caml différence fun et function

Message par left_shift » ven. janv. 26, 2018 2:32 pm

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.

Asmaras
Messages : 6
Enregistré le : sam. janv. 20, 2018 12:46 pm

Re: Caml différence fun et function

Message par Asmaras » ven. janv. 26, 2018 2:37 pm

Merci, je comprends mieux

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité