A resource for the Oberon-07 language

Oberon-07 is a new language from Niklaus Wirth based on Oberon and Oberon-SA, and influenced by Oberon-2 (1991-1995 by Hanspeter Mössenböck) and Component Pascal (2001, Oberon microsystems, Inc.). See www.inf.ethz.ch/person/wirth/projects.html for a brief history of N. E. Wirth's work.

MODULE gcd; IMPORT Texts, Oberon;
  VAR W: Texts.Writer;
  
PROCEDURE gcdlcm*;
VAR x, y, u, v: INTEGER;
  S: Texts.Scanner;
BEGIN
  Texts.OpenScanner(S, Oberon.Par.text,
    Oberon.Par.pos);
  Texts.Scan(S); x := S.i;
  Texts.WriteString(W, " x =");
  Texts.WriteInt(W, x, 6);
  Texts.Scan(S); y := S.i;
  Texts.WriteString(W, " y =");
  Texts.WriteInt(W, y, 6);
  u := x; v := y;
  (*gcd(x,y) = gcd(x0,y0),
    x*v + y*u = 2*x0*y0*)
  WHILE x > y DO x := x - y; u := u + v
  ELSIF x < y DO y := y - x; v := v + u
  END;
  Texts.WriteInt(W, x, 6);
  Texts.WriteInt(W, (u+v) DIV 2, 6);
  Texts.WriteLn(W);
  Texts.Append(Oberon.Log, W.buf)
END gcdlcm;

BEGIN Texts.OpenWriter(W)
END gcd.

Revised (Classic) Oberon was, or perhaps purposely was not, standardized through the "Oakwood Guidelines for Oberon-2 Compiler Developers", which defined a minimal standard library, and extensions for classic Oberon implementations.

Sometimes called the Oberon Report, The Programming Language Oberon was first published in September 1987 (ETH Zürich) as a revision of the Modula-2 Report (PIM3). A follow up was published in July 1988, with corrections in January 1989.

Revised Oberon was published in September 1989 (ETH Zürich Report 111), with revisions in October 1990, November 1990 (Report 143), and a final polished version in 1992 with the publication of Programming in Oberon: Steps Beyond Pascal.

The first Oberon-07 Report was finished in 2007, based on the October 1990 Revised Oberon Report. A small revision was published in 2008, and again revised in 2011, 2013; in February, March, and June of 2014; and February and March of 2015. (The February 2014 Report was mislabeled as the October 2013 Report. The June 2014 Report was mislabeled as the March 2014 Report.) The current Oberon Report was published as a PDF 19 March 2015, labeled 18 March 2015 (silently correcting an appendix oversight in the 18 March version).

Community

There is a chat room at chat.freenode.net, #oberon, that discusses all things related to Oberon. Also, see Usenet: comp.lang.oberon. Finally, the ETH Oberon mailing list: https://lists.inf.ethz.ch/mailman/listinfo/oberon.