Type vide

Type vide

Le type vide est en théorie des types un type qui ne comporte pas de valeurs.

On l'abrège communément par bot (de bottom type), le symbole (\bot) ou par l'approximation ASCII _|_. On l'appelle aussi parfois type zéro. Il ne faut pas le confondre avec le type top ou le type unité. Le type top comprend toutes les valeurs d'un système. Le type unité a une seule valeur.

On utilise souvent le type vide dans les cas suivants :

  • Pour signifier le faux. Il peut-être employer pour définir la négation et exprimer l'axiome ex falso sequitur quodlibet : Pour toute proposition P : \bot \to P. Hormis en logique minimale que rejette cet axiome, le type vide désigne donc par voie de conséquence, l'absurdité, l'état d'incohérence du système.
  • Pour signaler qu'une fonction ou un calcul diverge ; en d'autres termes, il ne retourne pas de résultat à l'appelant. Cela ne signifie pas nécessairement que le programme ne se termine pas ; une fonction peut terminer sans retourner à son appelant, ou sortir par un moyen autre qu'un retour normal, par exemple via une continuation.
  • Pour indiquer une erreur ; cela arrive principalement dans des langages théoriques dans lesquels les distinctions entre les erreurs ne sont pas importantes. Les langages de programmation pratiques utilisent une gestion d'exceptions à la place.

Sommaire

Exemples d'utilisation

Coq

Le logiciel Coq défini le type vide dans sa librairie standard par :

Inductive False : Prop :=.

Par opposition le type unité est

Inductive True : Prop :=
  I : True.

Sans entrer dans une description du langage, on voit que I : True est un (le) constructeur pour le type True. A contrario, l'absence de constructeur pour False interdit l'instanciation, autrement dit, on ne peut construire un objet de type False ; ce qui est heureux car, selon la correspondance de Curry-Howard, un objet de ce type serait assimilable à une preuve de l'incohérence de la logique.

La définition de False génère automatique l'axiome ex falso sequitur quodlibet :

False_ind
     : forall P : Prop, False -> P

La négation est simplement définie par :

Definition not (A:Prop) := A -> False.

haskell

En haskell le mot clé undefined représente un calcul dont le résultat a un type vide. Tenter d'évaluer undefined pendant l'exécution arrête le programme.


Voir aussi

Source

Lien externe

  • (en)Types and Programming Languages par Benjamin Pierce (MIT Press 2002) [1]

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Type vide de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Type unite — Type unité Un type unité est un type mathématique avec une seule valeur. L ensemble associé avec le type unité peut être n importe quel ensemble singleton. Il y a un isomorphisme entre deux tels ensembles, donc on parle souvent du type unité et… …   Wikipédia en Français

  • Type unité — Un type unité est un type mathématique avec une seule valeur. L ensemble associé avec le type unité peut être n importe quel ensemble singleton. Il y a un isomorphisme entre deux tels ensembles, donc on parle souvent du type unité et on ignore… …   Wikipédia en Français

  • VIDE (TECHNIQUE DU) — Le but de la technique du vide est d’obtenir des pressions inférieures à la pression atmosphérique en diminuant la quantité de matière présente sous la forme de gaz ou de vapeur. On utilise à cet effet différents modèles de pompes selon la… …   Encyclopédie Universelle

  • vide — [ vid ] adj. et n. m. • 1762; vuide XIIIe; du fém. de l a. fr. vuit (1080); lat. pop. °vocitus, de vocuus, vacuus→ vacuité I ♦ Adj. 1 ♦ Qui ne contient rien de perceptible; dans lequel il n y a ni solide, ni liquide. Espace vide entre deux choses …   Encyclopédie Universelle

  • vidé — vide [ vid ] adj. et n. m. • 1762; vuide XIIIe; du fém. de l a. fr. vuit (1080); lat. pop. °vocitus, de vocuus, vacuus→ vacuité I ♦ Adj. 1 ♦ Qui ne contient rien de perceptible; dans lequel il n y a ni solide, ni liquide. Espace vide entre deux… …   Encyclopédie Universelle

  • Vide qui songe — Auteur Peter F. Hamilton Directeur de publication Jean Claude Dunyach Genre Roman Science fiction Version originale Titre original The Dreaming Void …   Wikipédia en Français

  • Vide temporel — Auteur Peter F. Hamilton Directeur de publication Jean Claude Dunyach Genre Roman Science fiction Version originale Titre original The Temporal Void …   Wikipédia en Français

  • Vide en évolution — Auteur Peter F. Hamilton Directeur de publication Jean Claude Dunyach Genre Roman Science fiction Version originale Titre original The Evolutionary Void …   Wikipédia en Français

  • Type algebrique de donnees — Type algébrique de données Un type algébrique de données est un type de données dont chacune des valeurs est une donnée d un autre type enveloppée dans un des constructeurs du type. Toutes les données enveloppées sont des arguments du… …   Wikipédia en Français

  • Type algébrique — de données Un type algébrique de données est un type de données dont chacune des valeurs est une donnée d un autre type enveloppée dans un des constructeurs du type. Toutes les données enveloppées sont des arguments du constructeur. Par contraste …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”