Je travaille avec une large base de code Python et voudrais commencer à ajouter dans les annotations de type afin que je puisse obtenir un certain niveau de vérification statique. J'imagine quelque chose comme Erlang, Strongtalk, ou Tapé Régime/Raquette.
J'ai vu quick-and-dirty décorateurs d'insertion dynamique de contrôles basés sur les paramètres de la fonction et le type de retour des annotations, mais je suis à la recherche de quelque chose qui est plus robuste et qui effectue des contrôles au moment de la compilation.
Quels sont les outils disponibles en ce moment pour ce genre de chose? Je suis familier avec les compilateurs et la vérification de type et je suis certainement prêt à améliorer incomplète outil si il a une bonne fondation.
(Note: je ne suis pas intéressé par une discussion sur les avantages/inconvénients de typage statique.)
EDIT: Un exemple:
def put(d, k, v):
d[k] = v
J'aimerais être capable d'annoter l' put
fonction de type put<K,V>(dict<K,V>, K, V) -> None
.