Monade (informatique)En théorie des langages fonctionnels typés, une monade est un patron de conception qui combine des éléments de langages fonctionnels avec des méthodologies propres aux langages impératifs. En pratique, les valeurs retournées par des portions de programme (qui peuvent être vus comme des fonctions) sont englobées en un type pour être enchaînées ultérieurement en d'autres calculs. Il s'agit alors d'avoir une représentation simulant exactement des notions telles que les exceptions ou les effets de bords, tout en conservant la logique propre à la programmation fonctionnelle.
AlgèbreL'algèbre (de l’arabe الجبر, al-jabr) est une branche des mathématiques qui permet d'exprimer les propriétés des opérations et le traitement des équations et aboutit à l'étude des structures algébriques. Selon l’époque et le niveau d’études considérés, elle peut être décrite comme : une arithmétique généralisée, étendant à différents objets ou grandeurs les opérations usuelles sur les nombres ; la théorie des équations et des polynômes ; depuis le début du , l’étude des structures algébriques (on parle d'algèbre générale ou abstraite).
Structure algébriqueEn mathématiques, une structure algébrique est définie axiomatiquement par une ou plusieurs opérations sur un ensemble (dites internes), éventuellement muni d’autres opérations (externes) dépendant d’autres ensembles, toutes ces opérations satisfaisant certaines relations telles que l’associativité, la commutativité ou la distributivité. La structure de groupe qui émerge progressivement au , avec une seule opération interne et quelques propriétés se formalise au début du avec une kyrielle de structures d’algèbre générale moins restrictives (monoïde) ou au contraire enrichies par une seconde opération (anneau, corps, algèbre de Boole.
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.
Associativité des puissancesEn algèbre, l'associativité des puissances est une forme affaiblie de l'associativité. Un magma est dit associatif des puissances si le sous-magma engendré par n'importe quel élément est associatif. Concrètement, cela signifie que si une opération est effectuée plusieurs fois sur un même élément , l'ordre dans lequel sont effectuées ces opérations n'a pas d'importance ; ainsi, par exemple, . Tout magma associatif est évidemment associatif des puissances.
Non-associative algebraA non-associative algebra (or distributive algebra) is an algebra over a field where the binary multiplication operation is not assumed to be associative. That is, an algebraic structure A is a non-associative algebra over a field K if it is a vector space over K and is equipped with a K-bilinear binary multiplication operation A × A → A which may or may not be associative. Examples include Lie algebras, Jordan algebras, the octonions, and three-dimensional Euclidean space equipped with the cross product operation.
Algèbre généraleL'algèbre générale, ou algèbre abstraite, est la branche des mathématiques qui porte principalement sur l'étude des structures algébriques et de leurs relations. L'appellation algèbre générale s'oppose à celle d'algèbre élémentaire ; cette dernière enseigne le calcul algébrique, c'est-à-dire les règles de manipulation des formules et des expressions algébriques. Historiquement, les structures algébriques sont apparues dans différents domaines des mathématiques, et n'y ont pas été étudiées séparément.
Monade (théorie des catégories)Une monade est une construction catégorique qui mime formellement le comportement que les monoïdes ont en algèbre. Introduite par Roger Godement sous le nom de « construction standard », la notion est d'abord diffusée sous le nom de triple avant d'être baptisée monade par Jean Bénabou. Elles permettent notamment de formuler des adjonctions et ont (au travers des comonades) un rôle important en géométrie algébrique, notamment en théorie des topos. Elles permettent également de définir les , dont les .
Algèbre associativevignette|Relations entre certaines structures algébriques. En mathématiques, une algèbre associative (sur un anneau commutatif A) est une des structures algébriques utilisées en algèbre générale. C'est un anneau (ou simplement un pseudo-anneau) B muni d'une structure supplémentaire de module sur A et tel que la loi de multiplication de l'anneau B soit A-bilinéaire. C'est donc un cas particulier d'algèbre sur un anneau. Soit A un anneau commutatif. On dit que (B , + , . , × ) est une A-algèbre associative lorsque : (B , + , .
Algèbre universelleL'algèbre universelle est la branche de l'algèbre qui a pour but de traiter de manière générale et simultanée les différentes structures algébriques : groupes, monoïdes, anneaux, espaces vectoriels, etc. Elle permet de définir de manière uniforme les morphismes, les sous-structures (sous-groupes, sous-monoïdes, sous-anneaux, sous-espaces vectoriels, etc.), les quotients, les produits et les objets libres pour ces structures.
AssociateurDans une algèbre ou un anneau non nécessairement associative, l'associateur de trois éléments x, y et z, noté A(x,y,z) est défini par . Il est parfois noté aussi s'il n'y a pas de risque de confusion avec un produit mixte. L'associativité est exprimée par la nullité de la fonction A sur tous les triplets. L'alternativité est exprimée par l'égalité pour tout couple d'éléments (x,y). L'associateur est un opérateur trilinéaire. L'associateur permet de définir le noyau de la structure, à savoir l'ensemble des x tels que pour y et z quelconques, on a .
Structure de données persistanteEn informatique, une structure de données persistante est une structure de données qui préserve ses versions antérieures lorsqu'elle est modifiée ; une telle structure est immuable, car ses opérations ne la modifient pas en place (de manière visible) mais renvoient au contraire de nouvelles structures. Une structure est partiellement persistante si seule sa version la plus récente peut être modifiée, les autres n'étant accessibles qu'en lecture. La structure est dite totalement persistante si chacune de ses versions peut être lue ou modifiée.
Parametric polymorphismIn programming languages and type theory, parametric polymorphism allows a single piece of code to be given a "generic" type, using variables in place of actual types, and then instantiated with particular types as needed. Parametrically polymorphic functions and data types are sometimes called generic functions and generic datatypes, respectively, and they form the basis of generic programming. Parametric polymorphism may be contrasted with ad hoc polymorphism.
AssociativitéEn mathématiques, et plus précisément en algèbre générale, une loi de composition interne ou loi interne sur un ensemble E est dite associative si pour tous x, y et z dans E : En notant , l'associativité se traduit par le diagramme commutatif suivant : Parmi les lois associatives, on peut citer les lois d'addition et de multiplication des nombres réels, des nombres complexes et des matrices carrées, l'addition des vecteurs, et l'intersection, la réunion d'ensembles.
Variété (algèbre)En algèbre universelle, une variété est une classe équationnelle, c'est-à-dire une classe K non vide de structures algébriques de même signature qui satisfont un ensemble d'identités (appelé axiomatisation équationnelle de la classe). Un monoïde est un ensemble E muni d'une loi interne * associative et d'un élément neutre. Ainsi, pour tous éléments x, y, z d'un monoïde, les équations suivantes sont vérifiées : (x * y) * z = x * (y * z) x * e = x e * x = x De plus, ces trois équations caractérisent la notion de monoïde.
Groupe algébriqueEn géométrie algébrique, la notion de groupe algébrique est un équivalent des groupes de Lie en géométrie différentielle ou complexe. Un groupe algébrique est une variété algébrique munie d'une loi de groupe compatible avec sa structure de variété algébrique. Un groupe algébrique sur un corps (commutatif) K est une variété algébrique sur munie : d'un morphisme de K-variétés algébriques (appelé aussi multiplication) .
Structure de donnéesEn informatique, une structure de données est une manière d'organiser les données pour les traiter plus facilement. Une structure de données est une mise en œuvre concrète d'un type abstrait. Pour prendre un exemple de la vie quotidienne, on peut présenter des numéros de téléphone par département, par nom, par profession (comme les Pages jaunes), par numéro téléphonique (comme les annuaires destinés au télémarketing), par rue et/ou une combinaison quelconque de ces classements.
Purely functional data structureIn computer science, a purely functional data structure is a data structure that can be directly implemented in a purely functional language. The main difference between an arbitrary data structure and a purely functional one is that the latter is (strongly) immutable. This restriction ensures the data structure possesses the advantages of immutable objects: (full) persistency, quick copy of objects, and thread safety. Efficient purely functional data structures may require the use of lazy evaluation and memoization.
Expression (mathématiques)In mathematics, an expression or mathematical expression is a finite combination of symbols that is well-formed according to rules that depend on the context. Mathematical symbols can designate numbers (constants), variables, operations, functions, brackets, punctuation, and grouping to help determine order of operations and other aspects of logical syntax. Many authors distinguish an expression from a formula, the former denoting a mathematical object, and the latter denoting a statement about mathematical objects.
Parametric modelIn statistics, a parametric model or parametric family or finite-dimensional model is a particular class of statistical models. Specifically, a parametric model is a family of probability distributions that has a finite number of parameters. A statistical model is a collection of probability distributions on some sample space. We assume that the collection, P, is indexed by some set Θ. The set Θ is called the parameter set or, more commonly, the parameter space.