Type systemIn computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type (for example, integer, floating point, string) to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term. For variables, the type system determines the allowed values of that term.
Nombre algébriqueUn nombre algébrique, en mathématiques, est un nombre complexe solution d'une équation polynomiale à coefficients dans le corps des rationnels (autrement dit racine d'un polynôme non nul à coefficients rationnels). Les nombres entiers et rationnels sont algébriques, ainsi que toutes les racines de ces nombres. Les nombres complexes qui ne sont pas algébriques, comme π et e (théorème de Lindemann-Weierstrass), sont dits transcendants. L'étude de ces nombres, de leurs polynômes minimaux et des corps qui les contiennent fait partie de la théorie de Galois.
Variété algébriqueUne variété algébrique est, de manière informelle, l'ensemble des racines communes d'un nombre fini de polynômes en plusieurs indéterminées. C'est l'objet d'étude de la géométrie algébrique. Les schémas sont des généralisations des variétés algébriques. Il y a deux points de vue (essentiellement équivalents) sur les variétés algébriques : elles peuvent être définies comme des schémas de type fini sur un corps (langage de Grothendieck), ou bien comme la restriction d'un tel schéma au sous-ensemble des points fermés.
Courbe algébriqueEn mathématiques, et plus précisément en géométrie algébrique, une courbe algébrique est une variété algébrique (ou un schéma de type fini) sur un corps, dont les composantes irréductibles sont de dimension 1. Cette définition est la généralisation moderne de celle des courbes algébriques classiques, telles que les coniques, définies, dans le cas des courbes planes, comme l'ensemble des points solutions d'une équation polynomiale. Sous sa forme la plus générale, une courbe algébrique sur un corps est une variété algébrique de dimension 1 sur , séparée pour éviter des pathologies.
Théorie des typesEn mathématiques, logique et informatique, une théorie des types est une classe de systèmes formels, dont certains peuvent servir d'alternatives à la théorie des ensembles comme fondation des mathématiques. Ils ont été historiquement introduits pour résoudre le paradoxe d'un axiome de compréhension non restreint. En théorie des types, il existe des types de base et des constructeurs (comme celui des fonctions ou encore celui du produit cartésien) qui permettent de créer de nouveaux types à partir de types préexistant.
Sûreté du typageLa sûreté du typage est un principe permettant d'améliorer la qualité de la programmation. Dans les langages à typage statique, l'un des objectifs est d'intercepter les erreurs de type de données lors de la compilation. Un type peut être vu comme un ensemble de valeurs et un ensemble d'opérateurs. La programmation objet a introduit les notions d'objets, messages, classes, héritage. Il est tentant de faire coller les classes à des types.
Real algebraic geometryIn mathematics, real algebraic geometry is the sub-branch of algebraic geometry studying real algebraic sets, i.e. real-number solutions to algebraic equations with real-number coefficients, and mappings between them (in particular real polynomial mappings). Semialgebraic geometry is the study of semialgebraic sets, i.e. real-number solutions to algebraic inequalities with-real number coefficients, and mappings between them. The most natural mappings between semialgebraic sets are semialgebraic mappings, i.
Matériau compositevignette|Multicouche, un exemple de matériau composite. Un matériau composite est un assemblage ou un mélange hétérogène d'au moins deux composants, non miscibles mais ayant une forte capacité d'interpénétration et d'adhésion, dont les propriétés mécaniques se complètent. Le nouveau matériau ainsi constitué possède des propriétés avantageuses que les composants seuls ne possèdent pas. Bien que le terme composite soit moderne, de tels matériaux ont été inventés et abondamment utilisés bien avant l'Antiquité, comme les torchis pour la construction de bâtiments.
Inférence de typesL'inférence de types est un mécanisme qui permet à un compilateur ou un interpréteur de rechercher automatiquement les types associés à des expressions, sans qu'ils soient indiqués explicitement dans le code source. Il s'agit pour le compilateur ou l'interpréteur de trouver le type le plus général que puisse prendre l'expression. Les avantages à disposer de ce mécanisme sont multiples : le code source est plus aéré, le développeur n'a pas à se soucier de retenir les noms de types, l'interpréteur fournit un moyen au développeur de vérifier (en partie) le code qu'il a écrit et le programme est peu modifié en cas de changement de structure de données.
Type (informatique)vignette|Présentation des principaux types de données. En programmation informatique, un type de donnée, ou simplement un type, définit la nature des valeurs que peut prendre une donnée, ainsi que les opérateurs qui peuvent lui être appliqués. La plupart des langages de programmation de haut niveau offrent des types de base correspondant aux données qui peuvent être traitées directement — à savoir : sans conversion ou formatage préalable — par le processeur.
Type dépendantEn Informatique et en Logique, un type dépendant est un type qui peut dépendre d'une valeur définie dans le langage typé. Les langages Agda et Gallina (de l'assistant de preuve Coq) sont des exemples de langages à type dépendant. Les types dépendants permettent par exemple de définir le type des listes à n éléments. Voici un exemple en Coq. Inductive Vect (A: Type): nat -> Type := | nil: Vect A 0 | cons (n: nat) (x: A) (t: Vect A n): Vect A (S n).
Conversion de typeEn informatique la conversion de type, le transtypage ou la coercition (cast en anglais) est le fait de convertir une valeur d'un type (source) dans un autre (cible). On distingue trois formes de conversion (dont un seul mérite vraiment le nom de conversion) suivant la relation de sous-typage existant entre les types source et cible : la conversion entre types incomparables ; la coercition ascendante (transtypage vers le haut) ; la coercition descendante (transtypage vers le bas). C'est la coercition la plus ancienne historiquement.