[Oberon] Procedure variables and local procedures

Chris Burrows chris at cfbsoftware.com
Sat Sep 30 13:55:48 CEST 2017

> -----Original Message-----
> From: chris [mailto:chris at gcjd.org]
> Sent: Saturday, 30 September 2017 7:52 PM
> To: chris at cfbsoftware.com; ETH Oberon and related systems
> Subject: Re: [Oberon] Procedure variables and local procedures
> I was under the impression, perhaps wrongly, that Oberon-07 is meant
> as a successor to the Oberon language used in the traditional Oberon
> System. 

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). Oberon-07 actually evolved
from an even smaller subset of Oberon that Wirth used for ARM software
development for Model Helicopter flight control work in 1998 / 1999. The
relevant documents are here:


> The features removed from the Oberon language I mentioned in my other
> mails are not related to the object model additions that were made by
> Oberon-2 and later Component Pascal. 

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. 

> If Oberon-07 should be seen as Oberon-Micro, a reduction of Oberon
> targeted at microcontrollers that makes perfect sense, but is not my
> area of use. I would be happy to hear some clarification about this.

The development of embedded software for microcontrollers is definitely well
suited to Oberon-07. The only real, but inferior, alternative for native
programming of these devices is C (need I say any more?!). 

However, as demonstrated so well by Project Oberon 2013, Oberon-07 is also
an excellent tool for developing other types of low-level System software
that works directly with hardware e.g. compilers, device drivers, interrupt
handlers, operating system kernels etc. etc. 

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.  

Chris Burrows
CFB Software

More information about the Oberon mailing list