Le type booléen avec Ada

Auteur Message
Bonjour,

Le type booléen avec Ada, sensiblement à distinguer du type natif du standard "boolean" du langage de programmation qu'est le langage Ada.

Source Ada : 

type Boolean_Enum_Type is
-- le type booléen doit être :
(Uninitialised, Nothing, False, True) ;
-- because the four values are possible case.


En effet, une variable avec Ada peu ne pas être initilaisée, c'est une liberté et rien n'indique de valeur constant à défaut.
Aussi, le type booléen se doit avec Ada d'avoir une quatrième valeur afin de permettre de valuer une valeur ayant vocation à signifier le caractère véritable d'un fait pour désigner l'inconnu effectivement.

La valeur "unknow" au lieu de "nothing" est possible (mais à proscrire puisque) bien que sujettante d'une ambiguïté puisque justement elle est le signifié d'une connaissance. Bien que de même nature paradoxale, "nothing" exprime "aucun" d'entre False et True, mais je ne sais pas quelle en est la sémantique anglo- saxone.
Du coup, après une petite traduction, j'écrirais le type de la manière suivante :

Source Ada : 

type Boollean_Enum_Type is (Nothing, None, False, True) ;


True : véracité ::= vrai.
False : véracité ::= faux.
None : véracité ::= aucun.
Nothing : véracité ::= indécidé.
J'irais même jusqu'à déclarer un cinquième nom corrolaire au trois exprimant la véracité effective, et donc, ou pas :

Source Ada : 

package Lib.Veracity

type Veracity_Enum_Type is (Nothing, None, Negativie, Positive, Infinite) ;

end Lib.Veracity;


Infinite, serait l'expression du calcul ou de l'expression en cours ou le dépassement de leur valuation a contrario des trois précédente.
Pour s'assurer de na pas converger par manque de clairevoyance lexico- graphique, suffixée du mot "_Verax" :

Source Ada : 

type Veracity_Enum_Type is (Nothing_Verax, None_Verax, Negative_Verax, Positive_Verax, Infinite_Verax) ;
pour la circularité de la valuation exprimant l'encours ou le dépassement, je remplacerai "Infinite_Verax" par "Round_Verax".
Re- again.

Pour distinguer l'encours du dépassement puisqu'il le faut :

Source Ada : 

type Veracity_Enum_Type is (Nothing_Verax, None_Verax, Negative_Verax, Positive_Verax, Outstanding_Verax, Overtaking_Verax) ;


Ce qui compte six noms pour exprimer six états possible d'un type qui n'en compte que deux à l'origine.
Ce qui me fait penser que le type booléen est sur- jacent à un type préalable qui exprimerait le probable, puisqu'elle est énoncé dans les nouvelles sciences ; Lequel implémenterait moins de nom, cinq seulement :

Source Ada : 

type Probable_Enum_Type is
(Nothing_Probed,
None_Probed,
Positive_Probed,
Middle_Probed
Negative_Probed) ; -- Unprobed.
Si ça peut prendre plus de deux valeurs différentes, ça ne peut pas être appelé un Boolean, puisque ce nom signifie que ça ne peut avoir que deux valeurs possibles.

Mais si on veut en faire d’autres usages et l’étendre avec d’autres interprétations, alors pour ne pas être perdu, c’est mieux de choisir un autre nom.

Les distinctions ajoutées me font penser au null et undefined de JavaScript. Mais ce sont des « options » dire l’état d’une variable dont le type attendu, quand il est disponible, pourrait être n’importe quel type. Ou alors il faudrait étendre tous les types pour y ajouter ces valeurs spéciales et en tenir compte dans toutes les opérations. Du coup, ça ne permet plus de dire ce qu’est le type quand il est défini normalement, c’est à dire qu’il n’est ni null ni undefined, puisque le type inclurait maintenant ces valeurs spéciales.

Pour l’idée des autres énumérations qui sont une appréciation de l’état dans lequel se trouve une chose ou un résultat, c’est difficile de définir quelque chose d’universel, ça dépend de chacun‑e, de comment on aborde les choses, ce qui dépend du domaine. Par exemple si on se préoccupe de l’état de tâche dans un ensemble multitâche, on aura certaines appréciation, si on s’occupe de l’état d’un calcul long ou à l’issue incertaine, on aura encore d’autres appréciations. Sinon, en logique, je crois qu’on appellerait ça un jugement, mais il faudrait vérifier que l’usage du mot serait correcte, parce que sinon ça cré des galères pour tout le monde en lisant, pour comprendre.