Function typeIn computer science and mathematical logic, a function type (or arrow type or exponential) is the type of a variable or parameter to which a function has or can be assigned, or an argument or result type of a higher-order function taking or returning a function. A function type depends on the type of the parameters and the result type of the function (it, or more accurately the unapplied type constructor · → ·, is a higher-kinded type).
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.
Calcul des prédicatsEn logique mathématique, le calcul des prédicats du premier ordre, ou calcul des relations, logique quantificationnelle, ou tout simplement calcul des prédicats, est un système formel utilisé pour raisonner et décrire des énoncés en mathématiques, informatique, intelligence artificielle, philosophie et linguistique. Il a été proposé par Gottlob Frege une formalisation du langage des mathématiques entre la fin du et le début du .
Évaluation paresseuseL’évaluation paresseuse (), appelée aussi appel par nécessité ou évaluation retardée est une technique d'implémentation des programmes récursifs pour laquelle l'évaluation d'un paramètre de fonction ne se fait pas avant que les résultats de cette évaluation ne soient réellement nécessaires. Ces résultats, une fois calculés, sont préservés pour des réutilisations ultérieures. Dans un langage comme Haskell, l'évaluation est paresseuse par défaut.
F SharpF# est un langage de programmation fonctionnel, impératif et orienté objet pour la plate-forme .NET. F# est développé par Microsoft Research et son noyau est dérivé du langage OCaml, avec lequel il est fortement compatible. Ces deux langages de programmation font partie de la même famille que les langages ML. Ce langage a été conçu spécifiquement pour la plate-forme .NET, donc fortement orienté-objet. Depuis novembre 2010, Microsoft a mis à la disposition de tous les bibliothèques core et son compilateur F#, sous la licence Apache 2.
Foncteur HomEn mathématiques, le foncteur Hom est un foncteur associé aux morphismes de la catégorie des ensembles. Il est central en théorie des catégories, notamment du fait de son rôle dans le lemme de Yoneda et parce qu'il permet de définir le foncteur Ext. Soit une catégorie localement petite. Pour tout couple d'objets A et B dans cette catégorie, un morphisme induit une fonction pour tout objet X.
Paramètre (programmation informatique)En programmation informatique, un paramètre est une donnée manipulée par une section de code (voir : sous-programme, fonction, méthode) et connue du code appelant cette section. On distingue deux types de paramètres. Un paramètre d'entrée est une donnée fournie par le code appelant au code appelé. Cette donnée peut être transmise de deux façons : passage par copie (aussi appelé par valeur) : le code appelé dispose d'une copie de la valeur qu'il peut modifier sans affecter l'information initiale dans le code appelant ; passage par adresse (aussi appelé par référence) : le code appelé dispose d'une information lui permettant d'accéder en mémoire à la valeur que le code appelant cherche à lui transmettre.
Catégorie monoïdaleEn mathématiques, une catégorie monoïdale est une catégorie munie d'un bifoncteur qui généralise la notion de produit tensoriel de deux structures algébriques. Intuitivement, il s'agit de l'analogue, au niveau des catégories, de la notion de monoïde, c'est-à-dire que le bifoncteur joue le rôle d'une sorte de multiplication pour les objets de la catégorie. Une catégorie monoïdale est une catégorie munie : D'un bifoncteur appelé produit tensoriel. D'un objet I appartenant à appelé « objet unité ».
Foncteur adjointL'adjonction est une situation omniprésente en mathématiques, et formalisée en théorie des catégories par la notion de foncteurs adjoints. Une adjonction entre deux catégories et est une paire de deux foncteurs et vérifiant que, pour tout objet X dans C et Y dans D, il existe une bijection entre les ensembles de morphismes correspondants et la famille de bijections est naturelle en X et Y. On dit que F et G sont des foncteurs adjoints et plus précisément, que F est « adjoint à gauche de G » ou que G est « adjoint à droite de F ».
Substructural type systemSubstructural type systems are a family of type systems analogous to substructural logics where one or more of the structural rules are absent or only allowed under controlled circumstances. Such systems are useful for constraining access to system resources such as , locks, and memory by keeping track of changes of state that occur and preventing invalid states. Several type systems have emerged by discarding some of the structural rules of exchange, weakening, and contraction: Ordered type systems (discard exchange, weakening and contraction): Every variable is used exactly once in the order it was introduced.