Skip to content

Programming Languages

← Back to Domain-Specific Abstractions by Domain

20 domain-specific abstractions whose origin domain is Programming Languages.

  • Anonymous Function — Construct a callable value at an expression site without declaring a persistent function name as part of that construction, so behavior can be invoked, passed, returned, stored, or composed inline.
  • Bytecode — A compact intermediate instruction representation designed for execution or translation by a software virtual machine.
  • Declarative programming — A programming paradigm that specifies desired results, relationships or constraints while leaving substantial control-flow and execution-order choices to the language implementation.
  • Forward declaration — A declaration that introduces an identifier and enough type information for earlier use while postponing the entity's complete definition until later compilation context.
  • Funarg problem — Resolve how a first-class nested function can retain or access lexically scoped nonlocal variables when its invocation outlives or occurs outside the defining stack frame.
  • High-level programming language — A programming language that lets programs express algorithms through abstractions substantially removed from processor instructions, registers, raw addresses and other machine details.
  • Increment and decrement operators — Unary programming operators that increase or decrease a mutable operand by one, with prefix and postfix forms differing in the value yielded by the expression.
  • Null pointer — A distinguished pointer or reference value guaranteed not to designate any valid object.
  • Phantom reference — A Java reference object that becomes enqueued after its referent is finalized or otherwise unreachable and before the associated memory is reclaimed.
  • Probabilistic programming — A programming paradigm that specifies generative probability models as programs and delegates posterior inference to a general inference engine.
  • Python (programming language) — A general-purpose, high-level programming language with significant indentation, dynamic typing, automatic memory management, a large standard library, and multiple implementation ecosystems.
  • Relational operator — A programming-language operator that compares two operands under a specified relation and returns a truth-valued result.
  • Set theoretic programming — A programming paradigm that treats sets, relations, mappings, and high-level set operations as primary data and control abstractions.
  • Structural type system — A static type discipline in which compatibility or subtyping is determined by the members and shapes a value provides rather than by declared type names or ancestry.
  • Tom (programming language) — A language extension for C and Java that adds algebraic pattern matching, term construction, rewrite rules and programmable rewriting strategies.
  • Type signature — A formal declaration of the input types, output type, and sometimes constraints, effects, or calling structure of a program entity.
  • Typed assembly language — A low-level instruction language augmented with machine-checkable types for registers, memory, code pointers, stacks and heaps, allowing native code to carry a static proof of specified safety properties.
  • Virtual class — An object-oriented language feature whose nested member class can be overridden so its runtime identity varies with the enclosing object’s dynamic type.
  • Virtual function — An overridable object-oriented method whose implementation is selected at runtime from the actual receiver type.
  • Wolfram Language — A proprietary high-level multi-paradigm language centered on symbolic expressions, transformation rules, functional composition and a large integrated computational knowledge system.