Précédent Suivant

  Types et unités

 
Voici une fonction calculant la surface d'un cercle.
 
;;; aire-disque: Nombre -> Nombre 
;;; (aire-disque r) rend l'aire d'un disque de rayon r 
(define (aire-disque r)
  (* 3.1416 r r) )

Son type est de prendre un nombre et de retourner un nombre car Nombre est le nom du type comprenant, entre autres, les entiers, les flottants et les rationnels. Ce type ne correspond qu'à la nature informatique des données échangées: toutes des nombres.
 
En termes plus physiques, la signature devrait être de prendre une longueur et de retourner une surface mais ceci est encore trop flou et un meilleur type, toujours au sens physique, serait de prendre des mètres et de retourner des mètres-carrés. On pourrait aussi prendre des unités plus exotiques comme de prendre des pieds et de retourner des hectares.
 
Il n'y a qu'un tout petit nombre de langages de programmation qui sachent manipuler ces types physiques et aucun n'est vraiment connu. Les informaticiens vivent donc avec un système de type moins précis que celui de la physique sur le plan des unités mais beaucoup plus riche en termes de structures de données car ils sont capables de parler de fonctions, de n-uplets, de listes etc.



Précédent Suivant