> How is error handling done in Oberon-07?
There is an Oberon programming language with compiler written in Oberon, and there is an operating system called Oberon as well; you can have a look at the source code, but there are also a couple of free books about it, see http://www.projectoberon.com/
> How does one do generic programming in Oberon-07?
No support for generics yet; there was a proposal in the nineties, but Wirth didn't integrate it. Neither the Go language which is a brain child of Oberon-2 has generics (yet).
> What is Oberon-07's async story
Oberon is single threaded; there is a coroutine library part of the Oakwood standard. But nothing comparable e.g. to Go.
Generic programming and async are supported on the Active Oberon programming language in the Oberon family branch. Which also does support exception handling.
Most recent version from Active Oberon
The A2 OS written in Active Oberon and respective documentation
Some A2 overview
http://sage.com.ua/en.shtml?e1l0
While Modula-2 had co-routines and exceptions, Wirth has chosen a minimalist path with Oberon.
Oberon-07 design goal has been to remove as many features as possible from original Oberon, while keeping a GC enabled systems programming language.
Then you have the other path, taken by others at ETHZ, which extended Oberon into a more expressive language, namely Oberon-2, Component Pascal and Active Oberon.
With Active Oberon being what is actually still used at ETHZ for teaching some OS classes and OS research subject.
When I read this book I had an hard time running and compiling the source code included. If you want to read the book and try out the example compiler (oberon0), you can follow the instructions here: https://github.com/lboasso/oberon0. You just need a JVM >= 8 and the oberonc compiler: https://github.com/lboasso/oberonc
* How is error handling done in Oberon-07?
* How does one do generic programming in Oberon-07?
* What is Oberon-07's async story?
I will be thankful for any pointers (heh).