En pratique il y a l'inférence de type qui fait cela très bien. Dans un langage comme Haskell, tu peux ne jamais écrire un bout de type, mais avoir une inférence qui te calcul le type tout seul et le vérifie à la compilation.
Par example une fonction qui calcul la somme des éléments d'une liste :
Note, dans la vraie vie je ne l'écrirais pas comme cela, mais plutôt :
sum[]=0sum(x:xs)=x+sumxs
Enfin bon, le compilateur infère tout seul le type de sum comme étant Num a => [a] -> a où dit autrement, une fonction qui prend une liste de a ([a]) et renvoie un a avec la contrainte que le a est un truc qui suit une "interface" Num.
De mon point de vue limité, cela donne la facilité d'écriture du code, tu ne te tracasses pas avec les types, mais au final tu as les outils du typage statique qui sont présents.
[^] # Re: typage statique automatique ?
Posté par Guillaum (site web personnel) . En réponse au journal Typage statique pour Python. Évalué à 5.
En pratique il y a l'inférence de type qui fait cela très bien. Dans un langage comme Haskell, tu peux ne jamais écrire un bout de type, mais avoir une inférence qui te calcul le type tout seul et le vérifie à la compilation.
Par example une fonction qui calcul la somme des éléments d'une liste :
Note, dans la vraie vie je ne l'écrirais pas comme cela, mais plutôt :
Enfin bon, le compilateur infère tout seul le type de
sumcomme étantNum a => [a] -> aoù dit autrement, une fonction qui prend une liste dea([a]) et renvoie unaavec la contrainte que leaest un truc qui suit une "interface"Num.De mon point de vue limité, cela donne la facilité d'écriture du code, tu ne te tracasses pas avec les types, mais au final tu as les outils du typage statique qui sont présents.