Des langages comme Smalltack utilisent des contrats qui sont simplement des tests en début et fin de fonctions. Ces tests s’héritent avec l'interface objet.
L’intérêt est de faire confiance à la lib de base, ce qui évite de programmer de façon défensive, ce qui a un coût en perf énorme. Les contrats permettent ici de récupérer les erreurs.
Le problème des types complexes, c'est qu'un humain a du mal à s'en sortir avec. Comprendre simplement les type GADT de Ocaml, n'est pas simple du tout. Et pourtant les possibilités sont limités.
[^] # Re: contrats
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 2.
Des langages comme Smalltack utilisent des contrats qui sont simplement des tests en début et fin de fonctions. Ces tests s’héritent avec l'interface objet.
L’intérêt est de faire confiance à la lib de base, ce qui évite de programmer de façon défensive, ce qui a un coût en perf énorme. Les contrats permettent ici de récupérer les erreurs.
Le problème des types complexes, c'est qu'un humain a du mal à s'en sortir avec. Comprendre simplement les type GADT de Ocaml, n'est pas simple du tout. Et pourtant les possibilités sont limités.
"La première sécurité est la liberté"