The BETA Programming Language and Virtual Classes

07/02/99


Click here to start


Table of Contents

The BETA Programming Language and Virtual Classes

Contents

Origins of Beta

Design goals for BETA

Abstraction in BETA

References to BETA

Basic elements of BETA

Class pattern & procedure pattern I

Class pattern & procedure pattern II

Class & procedure pattern III

Part object and references

Reference assignment

Value assignment

Subpattern

Event sequence generalization

Procedure specialization

Inheritance characterization

Nested class patterns

Nested/inner classes

On Nested Classes

Singular objects (anonymous class)

Virtual patterns

Virtual procedure pattern

Binding of virtual procedure pattern

Specialization versus redefinition

Interface classes

Person class with several interfaces

Virtual & non-virtual patterns

Final virtual binding

Named virtual procedure pattern

Virtual class pattern

Using virtual class pattern

Further binding (class)

Named virtual class patterns

Local virtual class pattern

Local virtual class pattern bindings

Extending virtual class patterns

Summary of virtual patterns

Virtual procedure & class patterns

References on Virtual Patterns

Typing issues

Covariance

ColorPoint

Type cases

Reverse assignment

Desirable properties

Cases for static typing

Type guards

Static typing: type exact variables

Further work on virtual classes I

Static typing: Final bindings

Further work on virtual classes II

Nested virtual class patterns I

Nested virtual class patterns II

Name versus structural equivalence

Virtual super patterns

Further work on virtual classes III

Implementation of virtual patterns

Example

Combined super & nested hierarchies

General case

Pattern sequence

Actual virtual binding

Virtual equations

General case

Other elements of BETA

Pattern variables

Inheritance

Inheritance from superpatterns

Inheritance from part objects

Address

Company with address

Rename and redefinition

Location

Reference on Inheritance from Part Objects

Unified programming style

Common paradigms

Functional style for methods

Higher order functions

Use of equations

Unification in Beta

Syntax for function application

Uniform abstraction mechanisms

Abstraction generalization

Summary

Contact address

Author: Ole Lehrmann Madsen

Email: Ole.L.Madsen@daimi.au.dk

Home Page: http://www.daimi.au.dk/~olm

Other information:
For more information about BETA and the Mjølner System see: http://www.mjolner.com