Sucre syntaxiqueSucre syntaxique et sel syntaxique sont des expressions utilisées en informatique à propos des langages de programmation. Sucre syntaxique est une expression imaginée par Peter J. Landin pour désigner les extensions à la syntaxe d'un langage de programmation qui : ne modifient pas son expressivité ; le rendent plus agréable à écrire comme à lire. Le sucre syntaxique exprime le fait de donner au programmeur des possibilités d'écriture plus succinctes ou plus intuitives.
Interprète (informatique)En informatique, un interprète, ou interpréteur , est un outil dont la tâche est d'analyser, de traduire et d'exécuter les programmes écrits dans un langage informatique. On qualifie parfois, , les langages dont les programmes sont généralement exécutés par un interprète de langages interprétés. Un interprète se distingue d’un compilateur par le fait qu’il effectue l’analyse et la traduction nécessaires à l'exécution d’un programme donné non pas une fois pour toutes, mais à chaque exécution de ce programme.
Programmation fonctionnelleLa programmation fonctionnelle est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
Arbre de la syntaxe abstraiteEn informatique, un arbre de la syntaxe abstraite ou ASA (abstract syntax tree, ou AST, en anglais) est un arbre dont les nœuds internes sont marqués par des opérateurs et dont les feuilles (ou nœuds externes) représentent les opérandes de ces opérateurs. Autrement dit, généralement, une feuille est une variable ou une constante. Un arbre de la syntaxe abstraite est utilisé par un analyseur syntaxique comme un intermédiaire entre un arbre d'analyse et une structure de données.
Programmation purement fonctionnelleEn informatique, la programmation purement fonctionnelle est un paradigme de programmation qui considère toutes les opérations comme l'évaluation de fonctions mathématiques. L'état et les objets immuables sont généralement modélisés à l'aide d'une logique temporelle, en tant que variables explicites représentant l'état du programme à chaque étape de son exécution : l'état d'une variable est transmis en tant que paramètre d'entrée d'une fonction de transformation d'état, qui renvoie l'état mis à jour en tant que partie de sa valeur de retour.
HaskellHaskell est un langage de programmation fonctionnel fondé sur le lambda-calcul et la logique combinatoire. Son nom vient du mathématicien et logicien Haskell Curry. Il a été créé en 1990 par un comité de chercheurs en théorie des langages intéressés par les langages fonctionnels et l'évaluation paresseuse. Le dernier standard est Haskell 2010 : c'est une version minimale et portable du langage conçue à des fins pédagogiques et pratiques, dans un souci d'interopérabilité entre les implémentations du langage et comme base de futures extensions.
Arbre syntaxiqueUn arbre syntaxique est un arbre permettant de représenter la syntaxe d'un objet. En linguistique, l'arbre syntaxique représente la structure syntaxique d'une phrase. Le nombre de catégories morphosyntaxiques correspondent à des classes distributionnelles, c'est-à-dire à la place qu'elles occupent dans la phrase, sur l'axe syntagmatique. En fonction de son voisinage, chaque élément peut commuter avec un autre élément de même catégorie.
Théorie des représentationsLa théorie des représentations est une branche des mathématiques qui étudie les structures algébriques abstraites en représentant leurs éléments comme des transformations linéaires d'espaces vectoriels, et qui étudie les modules sur ces structures algébriques abstraites. Essentiellement, une représentation concrétise un objet algébrique abstrait en décrivant ses éléments par des matrices et les opérations sur ces éléments en termes d'addition matricielle et de produit matriciel.
Définition d'opérateurLa définition d'opérateur est une fonctionnalité offerte par certains langages de programmation qui permet d'utiliser des opérateurs (comme +, = ou ==) comme des fonctions ou des méthodes en les définissant pour de nouveaux types de données. Les opérateurs ne sont pas nécessairement des symboles. Parfois, la définition de nouveaux opérateurs est autorisée. Il s'agit généralement de sucre syntaxique, et peut facilement être émulé par des appels de fonction ou de méthode : avec définition d'opérateurs : a + b * c ; sans définition d'opérateurs : somme (a, produit (b, c)).
Expression (informatique)Dans les langages de programmation, une expression est un élément de syntaxe qui combine un ensemble de lexèmes retournant une valeur. C'est une combinaison de littéraux, de variables, d'opérateurs, et de fonctions qui est évaluée (ou calculée) en suivant les règles de priorité et d'associativité du langage de programmation pour produire (ou retourner) une nouvelle valeur. Par exemple, 2+3 est une expression arithmétique qui vaut 5. Une variable est une expression car elle représente une valeur contenue en mémoire, donc y+6 est une expression.
Syntax (programming languages)In computer science, the syntax of a computer language is the rules that define the combinations of symbols that are considered to be correctly structured statements or expressions in that language. This applies both to programming languages, where the document represents source code, and to markup languages, where the document represents data. The syntax of a language defines its surface form. Text-based computer languages are based on sequences of characters, while visual programming languages are based on the spatial layout and connections between symbols (which may be textual or graphical).
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.
Fonction récursiveEn informatique et en mathématiques, le terme fonction récursive ou fonction calculable désigne la classe de fonctions dont les valeurs peuvent être calculées à partir de leurs paramètres par un processus mécanique fini. En fait, cela fait référence à deux concepts liés, mais distincts. En théorie de la calculabilité, la classe des fonctions récursives est une classe plus générale que celle des fonctions récursives primitives, mais plus restreinte que celle des fonctions semi-calculables (ou partielles récursives).
SyntaxeLa syntaxe est, à l'origine, la branche de la linguistique qui étudie la manière dont les mots se combinent pour former des phrases ou des énoncés dans une langue. On distingue la syntaxe, qui concerne les expressions [les mots], de la sémantique, qui concerne ce qui est visé par les expressions [le sens, la signification/les choses]. Le terme a un sens similaire en informatique, bien qu'il s'applique à une terminologie différente.
Fonction récursive primitiveEn théorie de la calculabilité, une fonction récursive primitive est une fonction construite à partir de la fonction nulle, de la fonction successeur, des fonctions projections et des schémas de récursion primitive (ou bornée) et de composition. Ces fonctions constituent un sous-ensemble strict des fonctions récursives. Elles ont été initialement analysées par la mathématicienne Rózsa Péter. On s'intéresse aux fonctions définies sur l'ensemble des entiers naturels, ou sur les ensembles des -uplets d'entiers naturels, et à valeurs dans .
Langage intermédiaireEn informatique, un langage intermédiaire (parfois abrégé en IL, de l'anglais Intermediate Language) est le langage d'une machine abstraite conçu pour l'analyse d'un programme informatique. Le terme vient de son utilisation dans les compilateurs, où un compilateur transcrit d'abord le code source d'un programme en une forme plus adaptée pour les transformations d'amélioration de code, comme un état intermédiaire avant de générer du code objet ou du langage machine pour une machine cible, c’est-à-dire la machine sur laquelle sera exécutée le programme.
Représentation induite d'un groupe finiEn mathématiques une représentation induite est une représentation d'un groupe canoniquement associée à une représentation de l'un de ses sous-groupes. L'induction est adjointe à gauche de la . Cette propriété intervient dans la formule de réciprocité de Frobenius. Cet article traite le cas des groupes finis. Dans tout l'article, G désigne un groupe fini, H un sous-groupe de G et θ une représentation de H dans un espace vectoriel de dimension finie W sur un corps K. G/H désigne l'ensemble des classes à gauche modulo H.
Algorithme récursifUn algorithme récursif est un algorithme qui résout un problème en calculant des solutions d'instances plus petites du même problème. L'approche récursive est un des concepts de base en informatique. Les premiers langages de programmation qui ont autorisé l'emploi de la récursivité sont LISP et Algol 60. Depuis, tous les langages de programmation généraux réalisent une implémentation de la récursivité. Pour répéter des opérations, typiquement, un algorithme récursif s'appelle lui-même.
Modular representation theoryModular representation theory is a branch of mathematics, and is the part of representation theory that studies linear representations of finite groups over a field K of positive characteristic p, necessarily a prime number. As well as having applications to group theory, modular representations arise naturally in other branches of mathematics, such as algebraic geometry, coding theory, combinatorics and number theory.
S-expressionUne S-expression (ou expression symbolique) est une convention pour la représentation de données ou d'expressions d'un programme sous forme textuelle. Les S-expressions sont utilisées dans la famille de langages Lisp, incluant Scheme et , ainsi que comme métalangage dans des protocoles de communication tels IMAP ou le langage CBCL (Common Business Communication Language) de John McCarthy.