Value support in the qBeta language
This program is tentative and subject to change.
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 MarDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:00 | |||
10:30 45mIndustry talk | Ferlium: An Extended Hindley–Milner Language with Mutable Value Semantics for Safe Scripting VIMPL Stéphane Magnenat Enlightware GmbH | ||
11:15 45mTalk | Value support in the qBeta language VIMPL | ||