pldb/PLDB huggingface dataset:
Algol (pl, appeared 1958)
Origin: Swiss Federal Institute of Technology


ALGOL (short for Algorithmic Language) is a family of imperative computer programming languages, originally developed in the mid-1950s, which greatly influenced many other languages and was the standard method for algorithm description used by the ACM in textbooks and academic sources for more than thirty years. In the sense that the syntax of most modern languages is "Algol-like", it was arguably the most influential of the four high-level programming languages among which it was roughly contemporary: FORTRAN, Lisp, and COBOL. It was designed to avoid some of the perceived problems with FORTRAN and eventually gave rise to many other programming languages, including PL/I, Simula, BCPL, B, Pascal, and C. ALGOL introduced code blocks and the begin…end pairs for delimiting them. It was also the first language implementing nested function definitions with lexical scope. Moreover, it was the first programming language which gave detailed attention to formal language definition and through the Algol 60 Report introduced Backus–Naur form, a principal formal grammar notation for language design. There were three major specifications, named after the year they were first published: ALGOL 58 – originally proposed to be called IAL, for International Algebraic Language. ALGOL 60 – first implemented as X1 ALGOL 60 in mid-1960. Revised 1963. ALGOL 68 – introduced new elements including flexible arrays, slices, parallelism, operator identification. Revised 1973. Niklaus Wirth based his own ALGOL W on ALGOL 60 before developing Pascal. ALGOL-W was based on the proposal for the next generation ALGOL, but the ALGOL 68 committee decided on a design that was more complex and advanced, rather than a cleaned, simplified ALGOL 60. ALGOL 68 is substantially different from ALGOL 60 and was not well received, so that in general "Algol" means ALGOL 60 and dialects thereof.
Allegro Common Lisp (pl, appeared 1986)
Also known as: Allegro CL
Creators: John Foderaro
Origin: Franz Inc
Website: https://franz.com/products/allegrocl/




(defun foo (x)
 (loop for y in-sequence x collect (1+ y)))
(foo '(1 2 3)) => (2 3 4)
(foo #(1 2 3)) => (2 3 4)
Alloy (pl, appeared 1997)
Origin: Massachusetts Institute of Technology
Website: http://alloytools.org/


In computer science and software engineering, Alloy is a declarative specification language for expressing complex structural constraints and behavior in a software system. Alloy provides a simple structural modeling tool based on first-order logic. Alloy is targeted at the creation of micro-models that can then be automatically checked for correctness. Alloy specifications can be checked using the alloy analyzer. Although Alloy is designed with automatic analysis in mind, Alloy differs from many specification languages designed for model-checking in that it permits the definition of infinite models. The Alloy Analyzer is designed to perform finite scope checks even on infinite models. The Alloy language and analyzer are developed by a team led by Daniel Jackson at the Massachusetts Institute of Technology in the United States.


// A file system object in the file system
sig FSObject { parent: lone Dir }

// A directory in the file system
sig Dir extends FSObject { contents: set FSObject }

// A file in the file system
sig File extends FSObject { }

// A directory is the parent of its contents
fact { all d: Dir, o: d.contents | o.parent = d }

// All file system objects are either files or directories
fact { File + Dir = FSObject }

// There exists a root
one sig Root extends Dir { } { no parent }

// File system is connected
fact { FSObject in Root.*contents }

// The contents path is acyclic
assert acyclic { no d: Dir | d in d.^contents }

// Now check it for a scope of 5
check acyclic for 5

// File system has one root
assert oneRoot { one d: Dir | no d.parent }

// Now check it for a scope of 5
check oneRoot for 5

// Every fs object is in at most one directory
assert oneLocation { all o: FSObject | lone d: Dir | o in d.contents }

// Now check it for a scope of 5
check oneLocation for 5
Alma-0 (pl, appeared 1997)
Origin: Centrum Wiskunde & Informatica
Website: http://www.cwi.nl/en/alma/


Alma-0 is a multi-paradigm computer programming language. This language is an augmented version of the imperative Modula-2 language with logic-programming features and convenient backtracking capability. It is small, strongly typed, and combines constraint programming, a limited number of features inspired by logic programming and supports imperative paradigms. The language advocates declarative programming. The designers claim that search-oriented solutions built with it are substantially simpler than their counterparts written in purely imperative or logic programming style. [1] Alma-0 provides natural, high-level constructs for the construction of search trees.
Alma (pl, appeared 2014)
Also known as: 007
Creators: Carl Mäsak
Origin: http://strangelyconsistent.org/
Country: Sweden
Website: http://masak.github.io/alma/

Alma is a small language created as a testbed for Raku macros.


GitHub description: ALgoloid with MAcros -- a language with Algol-family syntax where macros take center stage

macro swap(a, b) {
    return quasi {
        my t = {{{a}}};
        {{{a}}} = {{{b}}};
        {{{b}}} = t;
    };
}
func gcd(a, b) {
    if b {
        return gcd(b, a % b);
    }
    return a.abs();
}
my bigger = +prompt("Enter the bigger integer: ");
my smaller = +prompt("Enter the smaller integer: ");
if bigger < smaller {
    swap(bigger, smaller);
}
say();
say("Greatest common denominator: ", gcd(bigger, smaller));
Almquist shell (pl, appeared 1989)
Origin: Internet Ulm or Neu-Ulm eV


Almquist shell (also known as A Shell, ash and sh) is a lightweight Unix shell originally written by Kenneth Almquist in the late 1980s. Initially a clone of the System V.4 variant of the Bourne shell, it replaced the original Bourne shell in the BSD versions of Unix released in the early 1990s.
ALPAK (pl, appeared 1963)
Origin: Nokia Bell Labs

This is the first of two papers on the ALPAK system for nonnumerical algebra on a digital computer. This paper is concerned with polynomials in several variables and truncated power series with polynomial coefficients. The second paper will discuss rational functions of several variables, truncated, power series with rational-function coefficients, and syste7ns of linear equations with rational-function coefficients. The ALPAK system has been programmed within the BE-S YS-4 monitor system on the IBM 7090 computer, but the language and concepts are machine independent.
Alpha (pl, appeared 1971)
Origin: Technological University Dublin
University College Dublin


The Alpha language was the original database language proposed by Edgar F. Codd, the inventor of the relational database approach. It was defined in Codd's 1971 paper "A Data Base Sublanguage Founded on the Relational Calculus". Alpha influenced the design of QUEL. It was eventually supplanted by SQL (which is however based on the relational algebra defined by Codd in "Relational Completeness of Data Base Sublanguages"), which IBM developed for its first commercial relational database product.
Alphard (pl, appeared 1974)
Origin: Carnegie Mellon University
University of Southern California
Carnegie Mellon University


Alphard is a Pascal-like programming language for data abstraction and verification, proposed and designed by William A. Wulf, Ralph L. London, and Mary Shaw. The language was the subject of several research publications in the late 1970s, but was never implemented. Its main innovative feature was the introduction of the 'form' datatype, which combines a specification and a procedural (executable) implementation. It also took the generator from IPL-V, as well as the mapping functions from Lisp and made it general case.
AmbientTalk (pl, appeared 2006)
Origin: Vrije Universiteit
Country: Belgium
Website: https://code.google.com/p/ambienttalk




when: ChatService discovered: { |chatService| when: chatService<-login(roomID, username) becomes: { |chatRoom| chatRoom<-chat("hello world"); // async message send whenever: chatRoom disconnected: { system.println("you're offline"); }; whenever: chatRoom reconnected: { system.println("you're online again"); }; }; };
AMBIT (pl, appeared 1964)
Creators: Carlos Christensen
Origin: Massachusetts Computer Associates


AMBIT is a historical programming language that was introduced by Carlos Christensen of Massachusetts Computer Associates in 1964 for symbolic computation.  The language was influenced by ALGOL 60 and is an early example of a pattern matching language for manipulation of strings (a more popular example from the same time is SNOBOL). The acronym AMBIT stands for "Algebraic Manipulation by Identity Translation", but has also claimed "Acronym May Be Ignored Totally". AMBIT had dialects for manipulation of lists (AMBIT-L) and graphs (AMBIT-G)  Both pioneered with data structure diagrams and visual programming as data and patterns were used to be represented by directed-graph diagrams. AMBIT/L was implemented for a PDP-10 computer and used to implement the interactive algebraic manipulation system IAM.
Amiga E (pl, appeared 1993)
Also known as: AmigaE
E
Creators: Wouter Van Oortmerssen
Origin: Amiga


Amiga E, or very often simply E, is a programming language created by Wouter van Oortmerssen on the Amiga. He has since moved on to develop the SHEEP programming language for the new AmigaDE platform and the CryScript language (also known as DOG) used during the development of the video game Far Cry.
Amigas (pl, appeared 1989)
Origin: Amiga


This article deals with programming languages used in the Amiga line of computers, running the AmigaOS operating system and its derivatives AROS and MorphOS. It is a split of the main article Amiga software. See also related articles Amiga productivity software, Amiga music software, Amiga Internet and communications software and Amiga support and maintenance software for other information regarding software that runs on Amiga.
AmigaBASIC (pl, appeared 1985)
Origin: Microsoft


AmigaBASIC was an interpreted BASIC programming language implementation for the Amiga, designed and written by Microsoft.  AmigaBASIC shipped with AmigaOS versions 1.1 to 1.3. It succeeded MetaComCo's ABasiC, which was included in AmigaOS 1.0 and 1.1, and was superseded by ARexx, a REXX-style scripting language, from AmigaOS version 2.0 onwards.
AMPL (pl, appeared 1985)
Stands for: A Mathematical Programming Language
Creators: Robert Fourer
David Gay
Brian Kernighan
Origin: AMPL Optimization LLC
Country: United States
Website: https://ampl.com/


A Mathematical Programming Language (AMPL) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems). It was developed by Robert Fourer, David Gay, and Brian Kernighan at Bell Laboratories. AMPL supports dozens of solvers, both open source and commercial software, including CBC, CPLEX, FortMP, Gurobi, MINOS, IPOPT, SNOPT, KNITRO, and LGO. Problems are passed to solvers as nl files. AMPL is used by more than 100 corporate clients, and by government agencies and academic institutions. One advantage of AMPL is the similarity of its syntax to the mathematical notation of optimization problems. This allows for a very concise and readable definition of problems in the domain of optimization. Many modern solvers available on the NEOS Server (formerly hosted at the Argonne National Laboratory, currently hosted at the University of Wisconsin, Madison) accept AMPL input. According to the NEOS statistics AMPL is the most popular format for representing mathematical programming problems.


set PROD;  # products

param rate {PROD} > 0;     # tons produced per hour
param avail >= 0;          # hours available in week

param profit {PROD};       # profit per ton
param market {PROD} >= 0;  # limit on tons sold in week

var Make {p in PROD} >= 0, <= market[p]; # tons produced

maximize Total_Profit: sum {p in PROD} profit[p] * Make[p];

               # Objective: total profits from all products

subject to Time: sum {p in PROD} (1/rate[p]) * Make[p] <= avail;

               # Constraint: total of hours used by all
               # products may not exceed hours available
Advanced Message Queuing Protocol (protocol, appeared 2003)
Stands for: Advanced Message Queuing Protocol
Origin: JPMorgan Chase


The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe), reliability and security. AMQP mandates the behavior of the messaging provider and client to the extent that implementations from different vendors are interoperable, in the same way as SMTP, HTTP, FTP, etc. have created interoperable systems. Previous standardizations of middleware have happened at the API level (e.g. JMS) and were focused on standardizing programmer interaction with different middleware implementations, rather than on providing interoperability between multiple implementations. Unlike JMS, which defines an API and a set of behaviors that a messaging implementation must provide, AMQP is a wire-level protocol. A wire-level protocol is a description of the format of the data that is sent across the network as a stream of bytes. Consequently, any tool that can create and interpret messages that conform to this data format can interoperate with any other compliant tool irrespective of implementation language.
AMTRAN (pl, appeared 1966)
Origin: NASA
University of Georgia
Northrop Space Laboratories
Country: United States

As a programming language, AMTRAN is designed to satisfy two objectives: the reduction of programming cost and effort by at least an order of magnitude, and the provision of a semiautomatic numerical analytical problem solving system. It resembles a blend of FORTRAN and ALGOL but possesses certain additional features. These include the following.
Analytical engine (computingMachine, appeared 1837)


The Analytical Engine was a proposed mechanical general-purpose computer designed by English mathematician and computer pioneer Charles Babbage. It was first described in 1837 as the successor to Babbage's difference engine, a design for a mechanical computer. The Analytical Engine incorporated an arithmetic logic unit, control flow in the form of conditional branching and loops, and integrated memory, making it the first  design for a general-purpose computer that could be described in modern terms as Turing-complete. In other words, the logical structure of the Analytical Engine was essentially the same as that which has dominated computer design in the electronic era.Babbage was never able to complete construction of any of his machines due to conflicts with his chief engineer and inadequate funding. It was not until the late 1940s that the first general-purpose computers were actually built, more than a century after Babbage had proposed the pioneering Analytical Engine in 1837.
Android (os, appeared 2008)
Origin: Android Inc.
Google
Country: United States
Website: https://android.com/


Android is a mobile operating system developed by Google, based on a modified version of the Linux kernel and other open source software and designed primarily for touchscreen mobile devices such as smartphones and tablets. In addition, Google has further developed Android TV for televisions, Android Auto for cars, and Wear OS for wrist watches, each with a specialized user interface. Variants of Android are also used on game consoles, digital cameras, PCs and other electronics. Initially developed by Android Inc., which Google bought in 2005, Android was unveiled in 2007, with the first commercial Android device launched in September 2008. The operating system has since gone through multiple major releases, with the current version being 9.0 "Pie", released in August 2018. The core Android source code is known as Android Open Source Project (AOSP), and is primarily licensed under the Apache License.  Android is also associated with a suite of proprietary software developed by Google, called Google Mobile Services (GMS) that very frequently comes pre-installed in devices, which usually includes the Google Chrome web browser and Google Search and always includes core apps for services such as Gmail, as well as the application store and digital distribution platform Google Play, and associated development platform. These apps are licensed by manufacturers of Android devices certified under standards imposed by Google, but AOSP has been used as the basis of competing Android ecosystems, such as Amazon.com's Fire OS, which use their own equivalents to GMS. Android has been the best-selling OS worldwide on smartphones since 2011 and on tablets since 2013. As of  May 2017, it has over two billion monthly active users, the largest installed base of any operating system, and as of June 2018, the Google Play store features over 3.3 million apps.
Angelscript (pl, appeared 2003)
Creators: Andreas Jönsson
Website: http://angelcode.com/angelscript
Keywords: and
abstract*
auto
bool
break
case
cast
class
const
continue
default
do
double
else
enum
false
final*
float
for
from*
funcdef
get*
if
import
in
inout
int
interface
int8
int16
int32
int64
is
mixin
namespace
not
null
or
out
override*
private
protected
return
set*
shared*
super*
switch
this*
true
typedef
uint
uint8
uint16
uint32
uint64
void
while
xor
*
**
/
%
+
-
<=
<
>=
>
(
)
==
!=
?
:
=
+=
-=
*=
/=
%=
**=
++
--
&
,
{
}
;
|
^
~
<<
>>
>>>
&=
|=
^=
<<=
>>=
>>>=
.
&&
||
!
[
]
^^
@
!is
::
123456789
123.123e123
123.123e123f
0x1234FEDC
0d123987
0o1276
0b1010
'abc'
"abc"
"""heredoc"""
_Abc123
//
/*
*/


AngelScript is a game-oriented interpreted compiled scripting language. AngelScript features static typing, object handles (similar to C++ pointers but garbage collected via reference counting), object-orientation, single inheritance, multiple inheritance with interfaces. Allows operators to be registered and overloaded. AngelScript can be used with any C++ IDE, such as Netbeans, Geany, Eclipse, and also supported by AngelJuice IDE developed specifically for the language. C and C++ functions can be called within an AngelScript environment. AngelScript's class syntax closely follows C++ classes by design: no proxy functions are required to embed AngelScript in C++ applications easing the two languages integration. There are several differences of AngelScript and C++: AngelScript does not support multiple inheritance. Multiple-inheritance functionality may be achieved with Interfaces. It is impossible to declare methods or properties outside of the class body. All methods (including constructors and destructors) are virtual. AngelScript is used in video game development, including Amnesia: The Dark Descent, Amy, Dustforce, Gekkeiju Online, King Arthur's Gold, Legend of the Guardians: The Owls of Ga'Hoole, Overgrowth, Penumbra: Overture, Penumbra: Requiem, Puddle, Rigs of Rods, Sine Mora, Star Ruler, SuperTuxKart, Warhammer: Mark of Chaos, Warsow, Urho3D. AngelScript is used at the University of Ulm in interactive 3D-Animation program. AngelScript is also used in robotics, for example, to program behavioral rules of robotic agents.
Ant Build System (application, appeared 2000)
Origin: Apache Software Foundation
Country: United States
Website: http://ant.apache.org/

Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications. Ant supplies a number of built-in tasks allowing to compile, assemble, test and run Java applications. Ant can also be used effectively to build non Java applications, for instance C or C++ applications. More generally, Ant can be used to pilot any type of process which can be described in terms of targets and tasks.
Ante (pl, appeared 2015)
Creators: Jake Fecher
Website: http://antelang.org

<a href='https://github.com/jfecher/ante'>Ante</a> is a compiled systems language focusing on providing extreme extensibility through the use of a compile-time API. Using such an API, compiler extensions can be created within the program itself, allowing for the addition of a garbage collector, ownership system, type system changes, etc.


GitHub description: A safe, easy systems language
ANTLR (grammarLanguage, appeared 1992)
Origin: University of San Francisco
Country: United States
Website: http://www.antlr.org


In computer-based language recognition, ANTLR (pronounced Antler), or Another Tool For Language Recognition, is a parser generator that uses LL(*) for parsing. ANTLR is the successor to the Purdue Compiler Construction Tool Set (PCCTS), first developed in 1989, and is under active development. Its maintainer is Professor Terence Parr of the University of San Francisco.


/** Taken from "The Definitive ANTLR 4 Reference" by Terence Parr */
// Derived from http://json.org
grammar JSON;
json
   : value
   ;
obj
   : '{' pair (',' pair)* '}'
   | '{' '}'
   ;
pair
   : STRING ':' value
   ;
arr
   : '[' value (',' value)* ']'
   | '[' ']'
   ;
value
   : STRING
   | NUMBER
   | obj
   | arr
   | 'true'
   | 'false'
   | 'null'
   ;

STRING
   : '"' (ESC | SAFECODEPOINT)* '"'
   ;

fragment ESC
   : '\\' (["\\/bfnrt] | UNICODE)
   ;
fragment UNICODE
   : 'u' HEX HEX HEX HEX
   ;
fragment HEX
   : [0-9a-fA-F]
   ;
fragment SAFECODEPOINT
   : ~ ["\\\u0000-\u001F]
   ;

NUMBER
   : '-'? INT ('.' [0-9] +)? EXP?
   ;

fragment INT
   : '0' | [1-9] [0-9]*
   ;

// no leading zeros

fragment EXP
   : [Ee] [+\-]? INT
   ;

// \- since - means "range" inside [...]

WS
   : [ \t\n\r] + -> skip
   ;
Apache Hbase (application, appeared 2008)
Origin: https://github.com/apache/hbase
Website: https://hbase.apache.org/


HBase is an open-source non-relational distributed database modeled after Google's Bigtable and written in Java. It is developed as part of Apache Software Foundation's Apache Hadoop project and runs on top of HDFS (Hadoop Distributed File System) or Alluxio, providing Bigtable-like capabilities for Hadoop.

GitHub description: Apache HBase [1] is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured Data by Chang et al.[2]  Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Apache Hadoop [3]..
Velocity (template, appeared 2003)
Also known as: Velocity
Origin: Apache
Website: http://velocity.apache.org/


Apache Velocity is a Java-based template engine that provides a template language to reference objects defined in Java code. It aims to ensure clean separation between the presentation tier and business tiers in a Web application (the model–view–controller design pattern). Velocity is an open source software project hosted by the Apache Software Foundation. It is released under the Apache License.
APE100 (pl, appeared 1995)
Origin: Istituto Nazionale di Fisica Nucleare
Country: Italy


APE100 was a family of SIMD supercomputers developed by the Istituto Nazionale di Fisica Nucleare (INFN) in Italy between 1989 and 1994. The systems were developed to study the structure of elementary particles by means of lattice gauge theories, especially quantum chromodynamics. APE ("ah-pei"), an acronym for Array Processor Experiment, was the collective name of several generations of massively parallel supercomputers since 1984, optimized for theoretical physics simulations. The APE machines were massively parallel 3D arrays of custom computing nodes with periodic boundary conditions. APE100 was developed at INFN in Rome and Pisa under the direction of Nicola Cabibbo. Each node was capable of 50MFLOPS so that the complete configuration with 2,048 nodes had a performance of 100GFLOPS. In 1991, it became the most powerful supercomputer in the world. A version of APE100 has been marketed by Alcatel Alenia Space under the name of Quadrics. After 1994 the project at INFN was continued with the new names APEmille and ApeNext.