comme te l'a déjà fait remarquer Fabrice. Bien que ces deux définitions soient très semblables, il existe une différence dont les conséquences pratiques sont très importantes: il est beaucoup plus facile d'appliquer partiellement la première version que la seconde.
Ainsi, si tu as un traitement f: in_channel -> 'a que tu veux appliquer sur une liste de fichiers l tu peux écrire
List.map(process_filef)l
avec la première version, tandis que la seconde t'oblige à introduire une fonction auxiliaire (on peut choisir une fonction anonyme) ce qui rend le code moins lisible.
Depuis que je travaille dans une boîte qui utilise C++ je suis très malheureux car:
— je redécouvre les charmes des boucles for;
— personne ne sait programmer.
[^] # Re: Version fonctionnelle
Posté par Michaël (site web personnel) . En réponse à la dépêche OCaml 4.00.0 est sorti. Évalué à 7.
L'interpréteur fait ce qu'on lui demande. Si tu veux définir une fonction dont la signature est
c'est possible, il suffit de changer la déclaration
comme te l'a déjà fait remarquer Fabrice. Bien que ces deux définitions soient très semblables, il existe une différence dont les conséquences pratiques sont très importantes: il est beaucoup plus facile d'appliquer partiellement la première version que la seconde.
Ainsi, si tu as un traitement
f: in_channel -> 'aque tu veux appliquer sur une liste de fichiersltu peux écrireavec la première version, tandis que la seconde t'oblige à introduire une fonction auxiliaire (on peut choisir une fonction anonyme) ce qui rend le code moins lisible.
Depuis que je travaille dans une boîte qui utilise C++ je suis très malheureux car:
— je redécouvre les charmes des boucles
for;— personne ne sait programmer.