HomoiconicitéEn programmation informatique, l'homoiconicité (de homo- : semblable, et icône : image) est une propriété de certains langages dans lesquels la principale représentation des programmes est aussi une structure de données d'un type primitif du langage. Les langages homoiconiques rassemblent la plupart des membres de la famille Lisp mais aussi APL, Prolog, REBOL, SNOBOL, XSLT, TRAC, Tcl, Io, Julia et Red. Cette propriété s'apparente à la réflexion dans les langages informatiques.
Langage de programmation à usage généralEn informatique, un langage de programmation à usage général () est un langage de programmation conçu pour être utilisé pour la conception de logiciels dans la plus grande variété de domaines d'application. Un langage de programmation peut être qualifié ainsi s'il n'inclut pas de constructions de langage conçues pour être utilisées dans un domaine d'application spécifique. Inversement, un langage dédié () est un langage conçu pour être utilisé dans un domaine d'application spécifique.
Hygienic macroIn computer science, hygienic macros are macros whose expansion is guaranteed not to cause the accidental capture of identifiers. They are a feature of programming languages such as Scheme, Dylan, Rust, Nim, and Julia. The general problem of accidental capture was well known in the Lisp community before the introduction of hygienic macros. Macro writers would use language features that would generate unique identifiers (e.g., gensym) or use obfuscated identifiers to avoid the problem.
Godot (moteur de jeu)Godot est un moteur de jeu multiplateforme, c'est-à-dire un logiciel permettant de créer des jeux vidéo qui est compatible avec différents systèmes d'exploitation. Il comporte entre autres un moteur 2D, un moteur 3D, un moteur physique, un gestionnaire d', et des langages de script pour programmer des comportements. Il est depuis ouvert au public et disponible sous licence MIT, ce qui fait de lui un logiciel libre. En plus des nombreux contributeurs bénévoles qui participent au projet, quelques développeurs rémunérés par don mensuel y travaillent à temps plein.
Dispatch multipleLe dispatch multiple est une fonctionnalité de certains langages orientés objet ou fonctionnels dans lesquels une fonction ou une méthode peut être spécialisée pour plus d'un de ses paramètres formels. On l'appelle alors multiméthode. La spécialisation d'une multiméthode peut ainsi dépendre du type dynamique de plusieurs de ses paramètres objets, à la différence des langages de programmation orientés objet classiques, dans lesquels la spécialisation ne dépend que du premier paramètre implicite this.
Foreign function interfaceA foreign function interface (FFI) is a mechanism by which a program written in one programming language can call routines or make use of services written or compiled in another one. An FFI is often used in contexts where calls are made into binary dynamic-link library. The term comes from the specification for Common Lisp, which explicitly refers to the programming language feature enabling for inter-language calls as such; the term is also often used officially by the Haskell, Rust, Python, and LuaJIT (Lua) interpreter and compiler documentations.
Sensibilité à la casseDans du texte, la casse (minuscule ou majuscule) des lettres peut parfois changer la signification. Les mots en lettres capitales (haut de casse) n'ont pas toujours le même sens s'ils sont écrits en minuscules (bas-de-casse). Par exemple, Rennes est une ville mais rennes désigne des caribous. Dans le Système international d'unités, M est le symbole du préfixe méga et m celui de milli. L'unité newton doit son nom à Newton. Et en astronomie, l'étoile n'est pas la planète .
Boucle whilevignette|Boucle while En programmation, la boucle while, francisée en boucle tant que, est une structure de contrôle permettant d'exécuter un ensemble d'instructions de façon répétée sur la base d'une condition booléenne. La boucle while peut être considérée comme une répétition de l'instruction if. Une boucle while est constituée d’un bloc de code source et d’une condition. À l’exécution, la condition est d’abord évaluée, et si elle est vraie, le bloc de code source est évalué.
Type algébrique de donnéesUn type algébrique est une forme de type de données composite, qui combine les fonctionnalités des types produits (n‐uplets ou enregistrements) et des types sommes (union disjointe). Combinée à la récursivité, elle permet d’exprimer les données structurées telles que les listes et les arbres. Le type produit de deux types A et B est l’analogue en théorie des types du produit cartésien ensembliste et est noté A × B. C’est le type des couples dont la première composante est de type A et la seconde de type B.
Oberon (langage)Oberon (alias Oberon-1) est un langage de programmation développé par Niklaus Wirth et Jürg Gutknecht de 1985 à 1987. Quoique le langage soit basé sur Modula-2 — dont Wirth est l'auteur —, plusieurs propriétés ont été éliminées et l'extension de type, en outre, fut introduite. Sa syntaxe ressemble au Pascal. Oberon élimine également le mécanisme explicite de désallocation de mémoire et intègre un ramasse-miettes (Garbage collector).