‹Programming› 2026
Mon 16 - Fri 20 March 2026 Munich, Germany

This program is tentative and subject to change.

Mon 16 Mar 2026 11:15 - 12:00 at Seminar Room 115 - Implementation

Since the birth of object-oriented programming, it has been an issue to represent composite values in the same way as primitive values. Primitive values such as integers are embedded in the enclosing object, while composite values like points are represented by objects, which implies a structural overhead.

In addition, there is often no clear distinction between reference assignment and value assignment and reference comparison and value comparison. It is an obvious approach to use the class mechanism to define value types. There are several efforts following this approach, but none of these have come up with a proposal without limitations. This includes the ability to define subtypes, virtual methods, avoid structural overhead, and clearly differentiate between reference and value assignment/comparison.

In this paper, we provide a proposal on how to define values and value types using the mechanisms of object-oriented languages, with none of the above limitations. Equally important, the proposal reflects that objects and values are different kinds of entities; this is important for the modeling capabilities. The proposal is validated by an implementation.

This program is tentative and subject to change.

Mon 16 Mar

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change