Synthèse chimiqueUne synthèse chimique est un enchaînement de réactions chimiques mis en œuvre volontairement ou non permettant l'obtention d'un ou de plusieurs produits finaux, parfois avec isolation de composés chimiques intermédiaires. Les synthèses chimiques peuvent avoir lieu à toutes sortes d'échelles : du laboratoire de recherche (de l'ordre du gramme ou moins) à l'industrie chimique (souvent de l'ordre de la tonne ou plus) ou dans la nature (biosynthèses).
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.
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.
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) : // ...
Filtrage par motifLe filtrage par motif est la vérification de la présence de constituants d'un motif par un programme informatique, ou parfois par un matériel spécialisé. Par contraste avec la reconnaissance de forme, les motifs sont complètement spécifiés. De tels motifs concernent conventionnellement des séquences ou des arbres. Par exemple "HDpdf" peut signifier : "Toute chaîne contenant HD et se terminant par pdf".
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.
Code (information)vignette|redresse|Code morse international. En sciences et techniques, notamment en informatique et en théorie de l'information, un code est une règle de transcription qui, à tout symbole d'un jeu de caractères (alphabet source) assigne de manière univoque un caractère ou une chaîne de caractères pris dans un jeu de caractères éventuellement différent (alphabet cible). Un exemple est le code morse qui établit une relation entre lettres de l'alphabet latin et des séquences de sons courts et longs.
Generalized algebraic data typeIn functional programming, a generalized algebraic data type (GADT, also first-class phantom type, guarded recursive datatype, or equality-qualified type) is a generalization of parametric algebraic data types. In a GADT, the product constructors (called data constructors in Haskell) can provide an explicit instantiation of the ADT as the type instantiation of their return value. This allows defining functions with a more advanced type behaviour.
OCamlOCaml, anciennement connu sous le nom d'Objective Caml, est l'implémentation la plus avancée du langage de programmation Caml, créé par Xavier Leroy, Jérôme Vouillon, , Didier Rémy et leurs collaborateurs en 1996. Ce langage, de la famille des langages ML, est un projet open source dirigé et maintenu essentiellement par l'Inria. OCaml est le successeur de Caml Light, auquel il a ajouté entre autres une couche de programmation objet.
Synthèse totaleEn chimie organique, la synthèse totale est en principe la synthèse chimique complète de molécules organiques à partir de morceaux plus simples et habituellement sans recourir à des processus biologiques. Dans la pratique, ces morceaux plus simples sont commercialement disponibles en grandes quantités et sont souvent des précurseurs pétrochimiques. Parfois, des produits « naturels » (comme le sucre) sont utilisés comme point de départ : il est fait l'hypothèse qu'ils sont fabriqués naturellement ou qu'ils peuvent être recréés à partir de leur éléments constitutifs.