Programming in the large : The algebraic-functional language opal 2α

1998 
We present design aspects of the algebraic-functional language OPAL 2α, which features flexible modularization to support programming in the large. OPAL 2α 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 flexible name spaces via an import relation. Name spaces, overloading and instance derivation are based on a well-established annotation concept.
    • Correction
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    1
    Citations
    NaN
    KQI
    []