Type classIn computer science, a type class is a type system construct that supports ad hoc polymorphism. This is achieved by adding constraints to type variables in parametrically polymorphic types. Such a constraint typically involves a type class T and a type variable a, and means that a can only be instantiated to a type whose members support the overloaded operations associated with T.
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).
Inférence (logique)L’inférence est un mouvement de la pensée qui permet de passer d'une ou plusieurs assertions, des énoncés ou propositions affirmés comme vrais, appelés prémisses, à une nouvelle assertion qui en est la conclusion. Étymologiquement, le mot inférence signifie « reporter ». En théorie, l'inférence est traditionnellement divisée en déduction et induction, une distinction qui, en Europe, remonte au moins à Aristote ( avant Jésus-Christ). On distingue les inférences immédiates des inférences médiates telles que déductives, inductives et abductives.
Théorie des langages de programmationvignette|La lettre grecque minuscule λ (lambda) est un symbole non officiel de la théorie des langages de programmation. Cet usage dérive du lambda-calcul, un modèle de calcul introduit par Alonzo Church dans les années 1930 et largement utilisé par les chercheurs en langage de programmation. Il orne la couverture du texte classique Structure et interprétation des programmes informatiques, et apparaît dans le titre des fameux Lambda Papers de 1975 à 1980, écrits par Gerald Jay Sussman et Guy Steele, les développeurs du langage de programmation Scheme.
Inférence bayésiennevignette|Illustration comparant les approches fréquentiste et bayésienne (Christophe Michel, 2018). L’inférence bayésienne est une méthode d'inférence statistique par laquelle on calcule les probabilités de diverses causes hypothétiques à partir de l'observation d'événements connus. Elle s'appuie principalement sur le théorème de Bayes. Le raisonnement bayésien construit, à partir d'observations, une probabilité de la cause d'un type d'événements.
Scala (langage)Scala est un langage de programmation multi-paradigme conçu à l'École polytechnique fédérale de Lausanne (EPFL) pour exprimer les modèles de programmation courants dans une forme concise et élégante. Son nom vient de l'anglais Scalable language qui signifie à peu près « langage adaptable » ou « langage qui peut être mis à l'échelle ». Il peut en effet être vu comme un métalangage. Scala intègre les paradigmes de programmation orientée objet et de programmation fonctionnelle, avec un typage statique.
Intégration par partiesEn mathématiques, l'intégration par parties (parfois abrégée en IPP) est une méthode qui permet de transformer l'intégrale d'un produit de fonctions en d'autres intégrales. Elle est fréquemment utilisée pour calculer une intégrale (ou une primitive) d'un produit de fonctions. Cette formule peut être considérée comme une version intégrale de la règle du produit. Le mathématicien Brook Taylor a découvert l'intégration par parties, publiant d'abord l'idée en 1715.
Intégration par changement de variableEn mathématiques, et plus précisément en analyse, l’intégration par changement de variable est un procédé d'intégration qui consiste à considérer une nouvelle variable d'intégration, pour remplacer une fonction de la variable d'intégration initiale. Ce procédé est un des outils principaux pour le calcul explicite d'intégrales. Il est parfois appelé intégration par substitution en lien avec le nom anglais du procédé. Soient : I un intervalle réel ; φ : [a,b] → I une fonction dérivable, de dérivée intégrable ; f : I → R une fonction continue.
Fonction d'ordre supérieurEn mathématiques et en informatique, les fonctions d'ordre supérieur sont des fonctions qui ont au moins une des propriétés suivantes : elles prennent une ou plusieurs fonctions en entrée ; elles renvoient une fonction. En mathématiques, on les appelle des opérateurs ou des fonctionnelles. L'opérateur de dérivation en calcul infinitésimal est un exemple classique, car elle associe une fonction (la dérivée) à une autre fonction (la fonction que l'on dérive). Dans le lambda-calcul non typé, toutes les fonctions sont d'ordre supérieur.
Zipping (computer science)In computer science, zipping is a function which maps a tuple of sequences into a sequence of tuples. This name zip derives from the action of a zipper in that it interleaves two formerly disjoint sequences. The inverse function is unzip. Given the three words cat, fish and be where |cat| is 3, |fish| is 4 and |be| is 2. Let denote the length of the longest word which is fish; . The zip of cat, fish, be is then 4 tuples of elements: where # is a symbol not in the original alphabet.