[Oberon] Procedure variables and local procedures

chris chris at gcjd.org
Sat Sep 30 18:49:43 CEST 2017

On Sat, 30 Sep 2017 21:25:48 +0930, Chris Burrows wrote:
> Oberon-07 is the replacement of the Oberon language (1990) as designed by
> Prof Wirth NOT the language Oberon-2 (1995) which was designed by Hanspeter
> Mossenbock (originally called Object Oberon).

Just a historical remark: Object Oberon (June 1989) is quite different 
from Oberon-2. While both attempt to add type bound procedures, Object 
Oberon uses explicit classes with included procedures a bit similar to 
Active Oberon in style and has features for explicit message sending 
and receiving.

Oberon-2 earliest report I know is from 1993 by H. Mössenböck and N. 

> Dynamic array variables (as opposed to open array parameters) were not part
> of the Oberon language definition. They were included in the language
> Oberon-2 and, consequently, Component Pascal. 

Right, dynamic arrays are not in the 1990 language report. But they are 
in widespread use in Oberon System 3 which does not use the Oberon-2 
object model, so that I took them for granted in all Oberon compilers.

> Hence, if your main area of use is Application software (more than likely if
> you need string libraries) then Oberon-07 probably has little interest to
> you and you should stick with Oberon-2 or if you want to progress further,
> Component Pascal. That is the successor to Oberon-2 for application
> software, not Oberon-07.

My main interest was to learn about the motivation of the omission or 
absence of the language features from Oberon-07 that were available in 
earlier versions of Oberon.

I do not like the Oberon-2 object model very much, which is in my 
opinion the important difference to Oberon-90, but that could be a 
separate discussion.

Greetings, chris

More information about the Oberon mailing list