Higher-order abstract syntaxIn computer science, higher-order abstract syntax (abbreviated HOAS) is a technique for the representation of abstract syntax trees for languages with variable binders. An abstract syntax is abstract because it is represented by mathematical objects that have certain structure by their very nature. For instance, in first-order abstract syntax (FOAS) trees, as commonly used in compilers, the tree structure implies the subexpression relation, meaning that no parentheses are required to disambiguate programs (as they are, in the concrete syntax).
Récursion terminaleEn informatique, la récursion terminale, aussi appelée, récursion finale, est un cas particulier de récursivité assimilée à une itération. Une fonction à récursivité terminale est une fonction où l'appel récursif est la dernière instruction à être évaluée. Cette instruction est alors nécessairement « pure », c'est-à-dire qu'elle consiste en un simple appel à la fonction, et jamais à un calcul ou une composition. Par exemple, dans un langage de programmation fictif : fonction récursionTerminale(n) : // ...
CorecursionIn computer science, corecursion is a type of operation that is to recursion. Whereas recursion works analytically, starting on data further from a base case and breaking it down into smaller data and repeating until one reaches a base case, corecursion works synthetically, starting from a base case and building it up, iteratively producing data further removed from a base case. Put simply, corecursive algorithms use the data that they themselves produce, bit by bit, as they become available, and needed, to produce further bits of data.
FactorielleEn mathématiques, la factorielle d'un entier naturel n est le produit des nombres entiers strictement positifs inférieurs ou égaux à n. Cette opération est notée avec un point d'exclamation, n!, ce qui se lit soit « factorielle de n », soit « factorielle n », soit « n factorielle ». Cette notation a été introduite en 1808 par Christian Kramp. Par exemple, la factorielle 10 exprime le nombre de combinaisons possibles de placement des 10 convives autour d'une table (on dit la permutation des convives).
Fixed-point combinatorIn mathematics and computer science in general, a fixed point of a function is a value that is mapped to itself by the function. In combinatory logic for computer science, a fixed-point combinator (or fixpoint combinator) is a higher-order function that returns some fixed point of its argument function, if one exists. Formally, if the function f has one or more fixed points, then and hence, by repeated application, In the classical untyped lambda calculus, every function has a fixed point.
Fonction anonymeEn programmation informatique, une fonction anonyme, aussi appelée lambda expression ou fonction lambda est une fonction n'ayant pas de nom. Les fonctions anonymes existent dans certains langages de programmation comme Python, JavaScript, OCaml ou C++. Certains langages, comme le C et Pascal (tout au moins les versions standards de ces langages), ne permettent pas d'écrire des fonctions anonymes. Parce que ces fonctions n'ont pas de nom, à l'endroit où l'on voudrait mettre leur nom, on trouve directement les instructions définissant la fonction introduites par une syntaxe particulière.
É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.
Double factorialIn mathematics, the double factorial of a number n, denoted by n!!, is the product of all the positive integers up to n that have the same parity (odd or even) as n. That is, Restated, this says that for even n, the double factorial is while for odd n it is For example, 9!! = 9 × 7 × 5 × 3 × 1 = 945. The zero double factorial 0!! = 1 as an empty product. The sequence of double factorials for even n = 0, 2, 4, 6, 8,... starts as The sequence of double factorials for odd n = 1, 3, 5, 7, 9,...