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.
Execution modelIn computing, a programming language consists of a syntax plus an execution model. The execution model specifies the behavior of elements of the language. By applying the execution model, one can derive the behavior of a program that was written in terms of that programming language. For example, when a programmer "reads" code, in their mind, they walk through what each line of code does. In effect they simulate the behavior inside their mind. What the programmer is doing is applying the execution model to the code, which results in the behavior of the code.
Debug symbolA debug symbol is a special kind of symbol that attaches additional information to the symbol table of an , such as a shared library or an executable. This information allows a symbolic debugger to gain access to information from the source code of the binary, such as the names of identifiers, including variables and routines. The symbolic information may be compiled together with the module's , or distributed in a separate file, or simply discarded during the compilation and/or linking.
Unity (user interface)Unity is a graphical shell for the GNOME desktop environment originally developed by Canonical Ltd. for its Ubuntu operating system. It debuted in 2010 in the netbook edition of Ubuntu 10.10. Since 2017, its development was taken over by the Unity7 Maintainers (Unity7) and UBports (Lomiri, formerly known as Unity8). Unity7 is the default desktop environment in Ubuntu Unity, an official flavor of Ubuntu since 2022. Ubuntu Unity and Unity7 Maintainers have started working on the successor of Unity7, UnityX.
Programmable interrupt controllerIn computing, a programmable interrupt controller (PIC) is an integrated circuit that helps a microprocessor (or CPU) handle interrupt requests (IRQ) coming from multiple different sources (like external I/O devices) which may occur simultaneously. It helps prioritize IRQs so that the CPU switches execution to the most appropriate interrupt handler (ISR) after the PIC assesses the IRQ's relative priorities. Common modes of interrupt priority include hard priorities, rotating priorities, and cascading priorities.
TclTcl (pronounced "tickle" or as an initialism) is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful. Tcl casts everything into the mold of a command, even programming constructs like variable assignment and procedure definition. Tcl supports multiple programming paradigms, including object-oriented, imperative, functional, and procedural styles. It is commonly used embedded into C applications, for rapid prototyping, scripted applications, GUIs, and testing.
Partial evaluationIn computing, partial evaluation is a technique for several different types of program optimization by specialization. The most straightforward application is to produce new programs that run faster than the originals while being guaranteed to behave in the same way. A computer program prog is seen as a mapping of input data into output data: where , the static data, is the part of the input data known at compile time. The partial evaluator transforms into by precomputing all static input at compile time.
Software quality assuranceSoftware quality assurance (SQA) is a means and practice of monitoring all software engineering processes, methods, and work products to ensure compliance against defined standards. It may include ensuring conformance to standards or models, such as ISO/IEC 9126 (now superseded by ISO 25010), SPICE or CMMI. It includes standards and procedures that managers, administrators or developers may use to review and audit software products and activities to verify that the software meets quality criteria which link to standards.
Monty PythonMonty Python (also collectively known as the Pythons) were a British comedy troupe formed in 1969 consisting of Graham Chapman, John Cleese, Terry Gilliam, Eric Idle, Terry Jones, and Michael Palin. The group came to prominence for the sketch comedy series Monty Python's Flying Circus, which aired on the BBC from 1969 to 1974. Their work then developed into a larger collection that included live shows, films, albums, books, and musicals; their influence on comedy has been compared to the Beatles' influence on music.
Unix warsThe Unix wars were struggles between vendors to set a standard for the Unix operating system in the late 1980s and early 1990s. Although AT&T Corporation created Unix, by the 1980s, the University of California, Berkeley Computer Systems Research Group was the leading non-commercial Unix developer. In the mid-1980s, the three common versions of Unix were AT&T's System III, the basis of Microsoft's Xenix and the IBM-endorsed PC/IX, among others; AT&T's System V, which it sought to establish as the new Unix standard; and the Berkeley Software Distribution (BSD).