Orwell is a small,
lazy-evaluation functional
Functional may refer to:
* Movements in architecture:
** Functionalism (architecture)
** Form follows function
* Functional group, combination of atoms within molecules
* Medical conditions without currently visible organic basis:
** Functional sy ...
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming ...
implemented principally by Martin Raskovsky and first released in 1984 by
Philip Wadler
Philip Lee Wadler (born April 8, 1956) is an American computer scientist known for his contributions to programming language design and type theory. He is the chair of Theoretical Computer Science at the Laboratory for Foundations of Computer S ...
during his time as a Research Fellow in the
Programming Research Group
The Programming Research Group (PRG) was part of the Oxford University Computing Laboratory (OUCL) in Oxford, England, along with the Numerical Analysis Group, until OUCL became the Department of Computer Science, University of Oxford, Department ...
, part of the
Oxford University Computing Laboratory
The Department of Computer Science is the computer science department of the University of Oxford, England, which is part of the university's Mathematical, Physical and Life Sciences Division, University of Oxford, Mathematical, Physical and Life ...
. Developed as a free alternative to
Miranda, it was a forerunner of
Haskell
Haskell () is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research and industrial applications, Haskell has pioneered a number of programming lan ...
and was one of the first programming languages to support
list comprehensions
A list comprehension is a syntactic construct available in some programming languages for creating a list based on existing lists. It follows the form of the mathematical ''set-builder notation'' (''set comprehension'') as distinct from the use of ...
and
pattern matching
In computer science, pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern. In contrast to pattern recognition, the match usually has to be exact: "either it will or will not be ...
.
The name is a tribute to George Orwell's novel ''
Nineteen Eighty-Four
''Nineteen Eighty-Four'' (also stylised as ''1984'') is a dystopian social science fiction novel and cautionary tale written by the English writer George Orwell. It was published on 8 June 1949 by Secker & Warburg as Orwell's ninth and final ...
'', the year in which the programming language was released. In the late 1980s and the 1990s, most of the computing practical assignments for
undergraduate
Undergraduate education is education conducted after secondary education and before postgraduate education. It typically includes all postsecondary programs up to the level of a bachelor's degree. For example, in the United States, an entry-lev ...
s studying for a
degree
Degree may refer to:
As a unit of measurement
* Degree (angle), a unit of angle measurement
** Degree of geographical latitude
** Degree of geographical longitude
* Degree symbol (°), a notation used in science, engineering, and mathematics
...
in ''Mathematics and Computation'' at
Oxford University
Oxford () is a city in England. It is the county town and only city of Oxfordshire. In 2020, its population was estimated at 151,584. It is north-west of London, south-east of Birmingham and north-east of Bristol. The city is home to the ...
were required to be completed using the language.
References
*
Academic programming languages
Functional languages
Haskell programming language family
{{compu-lang-stub