+ est un opérateur qui doit s'appliquer aux entiers, comme aux flottants
Tu pas du principe que la surcharge d'opérateurs est quelque chose qui va de soi, malgré le fait que l'opération "addition" est très différente selon le type des données. La surcharge d'opérateur, c'est du sucre syntaxique pour faire plaisir au développeur, rien de plus.
OCaml a fait le choix de renoncer à ce sucre syntaxique pour proposer autre chose qui fait plaisir au programmeur: l'inférence de type. L'inférence de type permet de supprimer la plupart des erreurs de typage à la compilation, donc c'est quelque chose qui apporte un bénéfice évident.
Or toi, au lieu de reconnaître que c'est un choix, avec lequel tu peux être d'accord ou non, tu prétends que c'est de l'incompétence. Il y a des moments où on préfère que son code soit garanti valide, et il y a des moments où on préfère que son code soit facile à écrire. En particulier, il y a des moments où on voudrait se rendre compte à la compilation que l'opérateur "+" n'existe pas pour l'objet manipulé, et pas à l'exécution quand l'exception est levée.
[^] # Re: Pffff...
Posté par Yusei (Mastodon) . En réponse au journal Un compte rendu de la conf sur isaac/lisaac. Évalué à 6.
Tu pas du principe que la surcharge d'opérateurs est quelque chose qui va de soi, malgré le fait que l'opération "addition" est très différente selon le type des données. La surcharge d'opérateur, c'est du sucre syntaxique pour faire plaisir au développeur, rien de plus.
OCaml a fait le choix de renoncer à ce sucre syntaxique pour proposer autre chose qui fait plaisir au programmeur: l'inférence de type. L'inférence de type permet de supprimer la plupart des erreurs de typage à la compilation, donc c'est quelque chose qui apporte un bénéfice évident.
Or toi, au lieu de reconnaître que c'est un choix, avec lequel tu peux être d'accord ou non, tu prétends que c'est de l'incompétence. Il y a des moments où on préfère que son code soit garanti valide, et il y a des moments où on préfère que son code soit facile à écrire. En particulier, il y a des moments où on voudrait se rendre compte à la compilation que l'opérateur "+" n'existe pas pour l'objet manipulé, et pas à l'exécution quand l'exception est levée.