[Oberon] Concurrency support in Oberon

David Egan Evans sinuhe at xmission.com
Thu Jan 21 20:06:22 CET 2016


> We had Pascal, 
> We came to its successor Modula-2. 
> Then we came to its successor Oberon. 

I found this same transition difficult with the M2 to Oberon hop until Blackbox. I imagine that the Oberon language (1990/92) can be separate from the system (such as with Ofront), but vishap for instance has no garbage collector (requiring extensions) and needs a separate module to call a command as a main program.

I found it interesting that the 1987 Report didn't require this, and made a much easier transition from M2. (I do not have the 1988 Report, so have never been able to note the differences.)

Put another way, Oberon programmers tend to program in Oberon systems, then link their program to run on a foreign system by carrying the Oberon system along with the program. Traditional compiler/linker approaches exist, but they seem anathema to the language design.

The revised language, started in 1989, then with three more minor revisions, and later published in its 1992 form, is what Oberon-2 and Active Oberon extend.

Oberon-07 has multiple revisions. I'd almost suggest the current language be called Oberon-13, started in 2011.

> But do we still have the concurrency programming support in Oberon, which was present in Modula-2?

The Oakwood Guidelines mandated an M2-like coroutine. This is not found in Project Oberon (1992 or 2013). Coroutines make sense for A2, or for using a traditional linker on another OS. Blackbox's community has raised the question as to whether the Oberon system model is still viable.

Where Wirth has brought us to a new starting point, away from the ETH Oberon and Blackbox world, it may be with revisiting the old questions, as long as we can remain informed of the training for last decisions (a difficult feat, I am finding). 
-- 
http://oberon07.com


More information about the Oberon mailing list