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 . |