pldb/PLDB huggingface dataset:
Rust (pl, appeared 2010)
Creators: Graydon Hoare
Origin: Mozilla
Website: https://www.rust-lang.org
File extensions: rs
rlib
Keywords: abstract
alignof
as
become
box
break
const
continue
crate
do
else
enum
extern
false
final
fn
for
if
impl
in
let
loop
macro
match
mod
move
mut
offsetof
override
priv
proc
pub
pure
ref
return
Self
self
sizeof
static
struct
super
trait
true
type
typeof
unsafe
unsized
use
virtual
where
while
yield


Rust is a systems programming language sponsored by Mozilla Research, which describes it as a "safe, concurrent, practical language," supporting functional and imperative-procedural paradigms. Rust is syntactically similar to C++, but its designers intend it to provide better memory safety while maintaining performance. Rust is an open source programming language. Its designers have refined the language through the experiences of writing the Servo web browser layout engine and the Rust compiler. A large portion of current commits to the project are from community members. Rust won first place for "most loved programming language" in the Stack Overflow Developer Survey in 2016 and 2017; it is referenced in The Book of Mozilla as "oxidised metal".

GitHub description: Empowering everyone to build reliable and efficient software.
S-algol (pl, appeared 1979)
Creators: Ron Morrison
Tony Davie
Origin: University of St Andrews
Country: United Kingdom


S-algol (St Andrews Algol) is a computer programming language derivative of ALGOL 60 developed at the University of St Andrews in 1979 by Ron Morrison and Tony Davie. The language is a modification of ALGOL to contain orthogonal data types that Morrison created for his PhD thesis.  Morrison would go on to become professor at the university and head of the department of computer science. The S-algol language was used for teaching at the university at an undergraduate level until 1999. It was also the language taught for several years in the 1980s at a local school in St. Andrews, Madras College. The computer science text Recursive Descent Compiling describes a recursive descent compiler for S-algol, using S-algol as the implementation language. PS-algol is a persistent derivative of S-algol.  It was developed around 1981 at the Universities of Edinburgh and St Andrews.  It supports database capability by providing for longevity of data in the form of a persistent heap that survives termination of PS-algol programs.
S-expressions (dataNotation, appeared 1960)
Origin: Massachusetts Institute of Technology
Country: United States


In computing, s-expressions, sexprs or sexps (for "symbolic expression") are a notation for nested list (tree-structured) data, invented for and popularized by the programming language Lisp, which uses them for source code as well as data. In the usual parenthesized syntax of Lisp, an s-expression is classically defined as an atom, or an expression of the form (x . y) where x and y are s-expressions. The second, recursive part of the definition represents an ordered pair so that s-exprs are effectively binary trees. The definition of an atom varies per context; in the original definition by John McCarthy, it was assumed that there existed "an infinite set of distinguishable atomic symbols" represented as "strings of capital Latin letters and digits with single embedded blanks" (i.e., character string and numeric literals). Most modern sexpr notations in addition use an abbreviated notation to represent lists in s-expressions, so that (x y z) stands for (x . (y . (z . NIL))) where NIL is the special end-of-list object (alternatively written (), which is the only representation in Scheme). In the Lisp family of programming languages, s-expressions are used to represent both source code and data. Other uses of S-expressions are in Lisp-derived languages such as DSSSL, and as mark-up in communications protocols like IMAP and John McCarthy's CBCL. The details of the syntax and supported data types vary in the different languages, but the most common feature among these languages is the use of S-expressions and prefix notation.


(x . y)
s-lang (pl, appeared 1992)
Creators: John E. Davis
Origin: https://www.jedsoft.org/slang/mailinglists.html
Country: United States
Website: http://www.jedsoft.org/slang/doc/html/slang.html

S-Lang is an interpreted language that was designed from the start to be easily embedded into a program to provide it with a powerful extension language. Examples of programs that use S-Lang as an extension language include the jed text editor and the slrn newsreader. Although S-Lang does not exist as a separate application, it is distributed with a quite capable program called slsh (``slang-shell'') that embeds the interpreter and allows one to execute S-Lang scripts, or simply experiment with S-Lang at an interactive prompt. Many of the the examples in this document are presented in the context of one of the above applications. S-Lang was originally a stack language that supported a postscript-like syntax. For that reason, I named it S-Lang, where the S was supposed to emphasize its stack-based nature. About a year later, I began to work on a preparser that would allow one unfamiliar with stack based languages to make use of a more traditional infix syntax. Currently, the syntax of the language resembles C, nevertheless some postscript-like features still remain, e.g., the `%' character is still used as a comment delimiter.



define init_array (a)
{
   variable i, imax;

   imax = length (a);
   for (i = 0; i < imax; i++)
     {
        a[i] = 7;
     }
}

variable A = Int_Type [10];
init_array (A);
S/SL (pl, appeared 1980)
Origin: University of Toronto
Country: Canada


The Syntax/Semantic Language (S/SL) is an executable high level specification language for recursive descent parsers, semantic analyzers and code generators developed by James Cordy, Ric Holt and David Wortman at the University of Toronto in 1980.S/SL is a small programming language that supports cheap recursion and defines input, output, and error token names (& values), semantic mechanisms (class interfaces whose methods are really escapes to routines in a host programming language but allow good abstraction in the pseudocode) and a pseudocode program that defines the syntax of the input language by the token stream the program accepts. Alternation, control flow and one-symbol look-ahead constructs are part of the language. The S/SL processor compiles this pseudocode into a table (byte-codes) that is interpreted by the S/SL table-walker (interpreter). The pseudocode language processes the input language in LL(1) recursive descent style but extensions allow it to process any LR(k) language relatively easily.  S/SL is designed to provide excellent syntax error recovery and repair. It is more powerful and transparent than Yacc but can be slower. S/SL's "semantic mechanisms" extend its capabilities to all phases of compiling, and it has been used to implement all phases of compilation, including scanners, parsers, semantic analyzers, code generators and virtual machine interpreters in multi-pass language processors.S/SL has been used to implement production commercial compilers for languages such as PL/I, Euclid, Turing, Ada, and COBOL, as well as interpreters, command processors, and domain specific languages of many kinds.  It is the primary technology used in IBM's ILE/400 COBOL compiler, and the ZMailer mail transfer agent uses S/SL for defining both its mail router processing language and its RFC 822 email address validation.
S (pl, appeared 1976)
Origin: Bell Laboratories
Country: United States
Website: http://ect.bell-labs.com/sl/S/


S is a statistical programming language developed primarily by John Chambers and (in earlier versions) Rick Becker and Allan Wilks of Bell Laboratories. The aim of the language, as expressed by John Chambers, is "to turn ideas into software, quickly and faithfully". The modern implementations of S is R, a part of the GNU free software project. S-PLUS, a commercial product, was formally sold by TIBCO Software.
System 2 (pl, appeared 2008)
Stands for: System 2
Origin: Danga Interactive
Country: United States
Website: http://www.livejournal.com/doc/s2


S2 (Style System 2) is an object-oriented programming language developed in the late 1990s by Brad Fitzpatrick, Martin "Mart" Atkins, and others for the online journaling service LiveJournal in order to allow users full control over the appearance of their pages. S2 source code is compiled into Perl, which the webserver can then execute directly for individual web page requests. The S2 system is, at its heart, completely general and can be used for almost any web application; however there exists no documentation for the implementation of S2 within other applications, which ties it relatively closely to LiveJournal. This article will make use of LiveJournal's implementation of S2 for examples. A link to detailed documentation about this implementation can be found at the bottom.
S3 (pl, appeared 1986)
Origin: International Computers Limited
Country: United Kingdom


S3 is a structured, imperative high-level computer programming language.  It was developed by the UK company International Computers Limited (ICL) for its 2900 Series mainframes. It is a system programming language with syntax influenced by ALGOL 68 but with data types and operators aligned to those offered by the 2900 Series.  It was the implementation language of the operating system VME.
SA-C (pl, appeared 1998)
Origin: Colorado State University and University of California,Riverside
Country: United States


Single Assignment C (SA-C) (pronounced "sassy") is a member of the C programming language family designed to be directly and intuitively translatable into circuits, including FPGAs. To ease translation, SA-C does not include pointers and arithmetics thereon. To retain most of the expressiveness of C, SA-C instead features true n-dimensional arrays as first-class objects of the language.
SAC (pl, appeared 1994)
Creators: Sven-Bodo Scholz
Clemens Grelck
Origin: University of Kiel
Country: Germany
Website: https://www.sac-home.org/index


SAC (Single Assignment C) is a strict purely functional programming language whose design is focused on the needs of numerical applications. Emphasis is laid on efficient support for array processing. Efficiency concerns are essentially twofold. On the one hand, efficiency in program development is to be improved by the opportunity to specify array operations on a high level of abstraction. On the other hand, efficiency in program execution, i.e. the runtime performance of programs, in time and memory consumption, is still to be achieved by sophisticated compilation schemes. Only as far as the latter succeeds, the high-level style of specifications can actually be called useful. To facilitate compiling to efficiently executable code, certain functional language features which are not considered essential for numerical applications, e.g. higher-order functions, polymorphism, or lazy evaluation, are not (yet) supported by SAC. These may be found in general-purpose functional languages, e.g. Haskell, Clean, Miranda, or ML. To overcome the acceptance problems encountered by other functional or array based languages intended for numerical / array intensive applications, e.g. SISAL, NESL, Nial, APL, J, or K, particular regard is paid to ease the transition from a C / Fortran like programming environment to SAC. In more detail, the basic language design goals of SAC are to:  provide a purely functional language with a syntax very similar to that of C in order to ease, for a large community of programmers, the transition from an imperative to a functional programming style; support multi-dimensional arrays as first class objects; allow the specification of shape- and dimension-invariant array operations; provide high-level array operations that liberate programming from tedious and error-prone specifications of starts, stops and strides for array traversals thereby improving code reusability and programming productivity, in general. incorporate a module system that allows for separate compilation, separate name spaces, and abstract data types, and, additionally, provides an interface to foreign languages in order to enable reuse of existing code; provide means for a smooth integration of states and state modifications into the functional paradigm based on uniqueness types; use the module system, the foreign language interface, and the integration of states in order to create a standard library which provides a functionality similar to that of the standard C libraries, e.g. powerful I/O facilities or mathematical functions; facilitate the compilation to host machine code which can be efficiently executed both in terms of time and space demand; facilitate the compilation for non-sequential program execution in multiprocessor environments.
Sage (pl, appeared 2005)
Also known as: Sage
Origin: University of Washington
Country: United States
Website: http://www.sagemath.org/


SageMath (previously Sage or SAGE, "System for Algebra and Geometry Experimentation") is a mathematical software with features covering many aspects of mathematics, including algebra, combinatorics, numerical mathematics, number theory, and calculus. The first version of SageMath was released on 24 February 2005 as free and open-source software under the terms of the GNU General Public License version 2, with the initial goals of creating an "open source alternative to Magma, Maple, Mathematica, and MATLAB". The originator and leader of the SageMath project, William Stein, is a mathematician at the University of Washington. SageMath uses a syntax resembling Python's supporting procedural, functional and object-oriented constructs.
System Automatycznego Kodowania Operacji (pl, appeared 1960)
Stands for: System Automatycznego Kodowania Operacji
Origin: Polish Academy of Sciences
Country: Poland


SAKO (PL: System Automatycznego Kodowania Operacji - EN: Automatic Operation Encoding System) is a non-English-based programming language written for Polish computers XYZ, ZAM-2, ZAM-21 and ZAM-41.
Simple Actor Language System and Architecture (pl, appeared 2001)
Stands for: Simple Actor Language System and Architecture
Origin: Rensselaer Polytechnic Institute and University of Illinois at Urbana-Champaign
Country: United States
Website: http://wcl.cs.rpi.edu/salsa/


The SALSA programming language (Simple Actor Language System and Architecture) is an actor-oriented programming language that uses concurrency primitives beyond asynchronous message passing, including token-passing, join, and first-class continuations. It also supports distributed computing over the Internet with universal naming, remote communication, and migration linguistic abstractions and associated middleware. For portability, it produces Java code.
Sam Coupé (pl, appeared 1989)
Origin: Miles Gordon Technology
Country: United Kingdom


The SAM Coupé (pronounced /sæm ku:peɪ/ from its original British English branding) is an 8-bit British home computer that was first released in late 1989. It is commonly considered a clone of the Sinclair ZX Spectrum computer, since it features a compatible screen mode and emulated compatibility, and it was marketed as a logical upgrade from the Spectrum. It was originally manufactured by Miles Gordon Technology (MGT), based in Swansea in the United Kingdom.
SAM file format (textDataFormat, appeared 2009)
Origin: Wellcome Trust Sanger Institute and Broad Institute of MIT and Harvard and University of California Los Angeles and Boston College and University of Michigan and Chinese Academy of Science
Country: United Kingdom and United States and China


Sequence Alignment Map (SAM) is a text-based format for storing biological sequences aligned to a reference sequence developed by Heng Li and Bob Handsaker et al. It is widely used for storing data, such as nucleotide sequences, generated by next generation sequencing technologies. The format supports short and long reads (up to 128Mbp) produced by different sequencing platforms and is used to hold mapped data within the Genome Analysis Toolkit (GATK) and across the Broad Institute, the Wellcome Sanger Institute, and throughout the 1000 Genomes Project. Sequence Alignment/Map (SAM) format for alignment of nucleotide sequences (e.g. sequencing reads) to (a) reference sequence(s). May contain base-call and alignment qualities and other data.
SAM76 (pl, appeared 1970)
Origin: Western Electric Laboratories
Country: United States


SAM76 is a macro programming language used from the late 1970s to the present 2007 initially ran on CP/M. The SAM76 language is a list and string processor designed for interactive and user-directed applications, including artificial intelligence programming, and permits high portability from machine to machine. The language shares certain features in common with LISP, Forth, and shell programming languages of the UNIX operating system. Claude A. R. Kagan, the language's developer, sought to combine within a single interpretive processor, the characteristics of two different string and general-purpose macro generators and the provisions to embed multiple infix operator mathematical systems. SAM76 was designed to: be very pure syntactically and semantically; require a minimum of user keyboarding to achieve powerful results; fit in a very small computer system; permit editing, testing, and executing modules interactively; not prevent the user from doing strange things with the syntax of the language yielding, however, predictable results. The language was based around the idea of programming with macros. A user will define a macro (a code word that can be defined by the user to invoke a specific set of instructions to perform a routine within the program) to execute a set of instructions, usually in either machine or assembly language, and use the macro in the program. In this way, a user need only define a routine once and then when that particular operation, or string is required, the user can substitute is with the macro name. Since then the language has been rewritten in C and compiles on Windows, Unix, Linux, and similar operating systems. The source code is available online and still compiles and runs as of 2006.
Security Assertion Markup Language (xmlFormat, appeared 2001)
Stands for: Security Assertion Markup Language
Origin: Organization for the Advancement of Structured Information Standards
Country: United States


Security Assertion Markup Language (SAML, pronounced sam-el) is an open standard for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. As its name implies, SAML is an XML-based markup language for security assertions (statements that service providers use to make access-control decisions).  SAML is also:  A set of XML-based protocol messages A set of protocol message bindings A set of profiles (utilizing all of the above)The single most important use case that SAML addresses is web browser single sign-on (SSO). Single sign-on is relatively easy to accomplish within a security domain (using cookies, for example) but extending SSO across security domains is more difficult and resulted in the proliferation of non-interoperable proprietary technologies. The SAML Web Browser SSO profile was specified and standardized to promote interoperability.  (For comparison, the more recent OpenID Connect protocol is an alternative approach to web browser SSO.)


<saml:Assertion ...>
  ..
</saml:Assertion>
SAOL (pl, appeared 1999)
Stands for: Structured Audio Orchestra Language
Origin: Moving Picture Experts Group
Country: Switzerland and United Kingdom

The MPEG-4 Structured Audio Orchestra Language

Structured Audio Orchestra Language (SAOL) is an imperative, MUSIC-N programming language designed for describing virtual instruments, processing digital audio, and applying sound effects. It was published as subpart 5 of MPEG-4 Part 3 (ISO/IEC 14496-3:1999) in 1999.As part of the MPEG-4 international standard, SAOL is one of the key components of the MPEG-4 Structured Audio toolset, along with:  Structured Audio Score Language (SASL) Structured Audio Sample Bank Format (SASBF) The MPEG-4 SA scheduler MIDI support
SAS (pl, appeared 1976)
Stands for: Statistical Analysis System
Creators: Anthony James Barr
Origin: North Carolina State University
Country: United States
Website: https://www.sas.com


The SAS language is a computer programming language used for statistical analysis, created by Anthony James Barr at North Carolina State University. It can read in data from common spreadsheets and databases and output the results of statistical analyses in tables, graphs, and as RTF, HTML and PDF documents. The SAS language runs under compilers that can be used on Microsoft Windows, Linux, and various other UNIX and  mainframe computers. The SAS System and World Programming System (WPS) are SAS language compilers.
SASL (pl, appeared 1972)
Creators: David Turner
Origin: University of St Andrews
Country: United Kingdom


SASL (from St Andrews Static Language, alternatively  St Andrews Standard Language) is a purely functional programming language developed by David Turner at the University of St Andrews in 1972, based on the applicative subset of ISWIM.  In 1976 Turner redesigned and reimplemented it as a non-strict (lazy) language.  In this form it was the foundation of Turner's later languages KRC and Miranda, but SASL appears to be untyped whereas Miranda has polymorphic types. Burroughs Corporation used SASL to write a compiler and operating system.
Sass (stylesheetLanguage, appeared 2006)
Stands for: syntactically awesome stylesheets
Creators: Hampton Lintorn-Catlin
Origin: https://github.com/sass
Country: Various
Website: http://sass-lang.com/


Sass (syntactically awesome stylesheets) is a style sheet language initially designed by Hampton Catlin and developed by Natalie Weizenbaum. After its initial versions, Weizenbaum and Chris Eppstein continued to extend Sass with SassScript, a simple scripting language used in Sass files. Sass is a scripting language that is interpreted or compiled into Cascading Style Sheets (CSS). SassScript is the scripting language itself. Sass consists of two syntaxes. The original syntax, called "the indented syntax", uses a syntax similar to Haml. It uses indentation to separate code blocks and newline characters to separate rules. The newer syntax, "SCSS", uses block formatting like that of CSS. It uses braces to denote code blocks and semicolons to separate lines within a block. The indented syntax and SCSS files are traditionally given the extensions .sass and .scss, respectively. CSS3 consists of a series of selectors and pseudo-selectors that group rules that apply to them. Sass (in the larger context of both syntaxes) extends CSS by providing several mechanisms available in more traditional programming languages, particularly object-oriented languages, but that are not available to CSS3 itself. When SassScript is interpreted, it creates blocks of CSS rules for various selectors as defined by the Sass file. The Sass interpreter translates SassScript into CSS. Alternatively, Sass can monitor the .sass or .scss file and translate it to an output .css file whenever the .sass or .scss file is saved. Sass is simply syntactic sugar for CSS. The official implementation of Sass is open-source and coded in Ruby; however, other implementations exist, including PHP, and a high-performance implementation in C called libSass. There's also a Java implementation called JSass. Additionally, Vaadin has a Java implementation of Sass. The indented syntax is a metalanguage. SCSS is a nested metalanguage, as valid CSS is valid SCSS with the same semantics. Sass supports integration with the Firefox extension Firebug. SassScript provides the following mechanisms: variables, nesting, mixins, and selector inheritance.
Sather-K (pl, appeared 1995)
Creators: David Stoutamire
Wolf Zimmermann
Martin Trapp
Origin: University of California, Berkeley and Karlsruher Institut für Technologie
Country: United States and Germany
Website: https://web.archive.org/web/20011117054314/http://i44s11.info.uni-karlsruhe.de/sather/index_engl.html