Results 1 -
2 of
2
Programming in the Large: the Algebraic-Functional Language Opal 2alpha
- In Implementation of Functional Languages, (IFL'97), Selected Papers, volume 1467 of LNCS
, 1998
"... We present design aspects of the algebraic-functional language Opal 2alpha, which features exible modularization to support programming in the large. Opal 2alpha provides parameterized structures and theories as part of packages. Parameterized theories serve to specify properties of functions and ar ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We present design aspects of the algebraic-functional language Opal 2alpha, which features exible modularization to support programming in the large. Opal 2alpha provides parameterized structures and theories as part of packages. Parameterized theories serve to specify properties of functions and are shown -- along with partial instantiations -- to play a similar role to type classes in Haskell. Structures can be viewed as (mere) interfaces or as concrete implementations. A realization relation between structures tells us which implementation realizes which interface. A package is a kind of folder for structures and theories. Packages establish exible name spaces via an import relation. Name spaces, overloading and instance derivation are based on a well-established annotation concept.
Compiler Support for Specification and Justification - Description of a Case Study
, 1999
"... The integration of specification and justification support into the compilation process offers new opportunities for the development of correct software. A prototypical compilation system has been developed on the basis of an existing compiler for the functional programming language Opal. In this pa ..."
Abstract
- Add to MetaCart
The integration of specification and justification support into the compilation process offers new opportunities for the development of correct software. A prototypical compilation system has been developed on the basis of an existing compiler for the functional programming language Opal. In this paper we describe the extensions made to the language, on a syntactical level, and also the property semantics associated with the resulting language. The system supports several types of justification, most notably testing and formal proof. In the appendix, a mathematical proof of an implementation of the sieve of Eratosthenes algorithm is formalised within the prototype.

