Opal
1. A
DSP language.
["OPAL: A High Level Language and Environment for DSP boards on PC", J.P. Schwartz et al, Proc ICASSP-89, 1989].
2. The language of the
object-oriented database GemStone.
["Making Smalltalk a Database System", G. Copeland et al, Proc SIGMOD'84, ACM 1984, pp.316- 325].
3. A
simulation language with provision for stochastic variables.
An extension of
Autostat.
["C-E-I-R OPAL", D. Pilling, Internal Report, C.E.I.R. Ltd. (1963)].
4. A language for compiler testing said to be used internally by
DEC.
5. A
functional programming language designed at the Technische Universitaet Berlin as a testbed for the development of
functional programs.
OPAL integrates concepts from Algebraic Specification and Functional Programming, which favour the (formal) development of (large) production-quality software written in a purely functional style.
The core of OPAL is a
strongly typed, higher-order,
strict applicative language which belongs to the tradition of
Hope and
ML.
The algebraic flavour of OPAL is visible in the syntactical appearance and in the preference of parameterisation to
polymorphism.
OPAL supports: information hiding - each language unit is divided into an interface (signature) and an implementation part; selective import; parameterised modules; free constructor
views on sorts, which allow pattern-based function definitions despite quite different implementations; full
overloading of names; puristic scheme language with no
built-in data types (except
Booleans and denotations).
OPAL and its predecessor OPAL-0 have been used for some time at the Technische Universitaet Berlin in CS courses and for research into optimising compilers for applicative languages. The OPAL compiler itself is writte entirely in OPAL.
An overview is given in "OPAL: Design And Implementation of an Algebraic Programming Language".
Home (http://www.cs.tu-berlin.de/~opal/).
(ftp://ftp.cs.tu-berlin.de/pub/local/uebb/papers/DesignImplOpal.ps.gz).