🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.modula2
Article #1134

Re: Modula3 and Oberon requests

#1134
From: Preston Briggs
Date: Mon, 10 Sep 1990 16:50
71 lines
2689 bytes
In article <MOSS.90Sep9134825@ibis.cs.umass.edu> moss@cs.umass.edu writes:
>Perhaps someone else will post a resposne
>indicating where to learn more about Oberon.

A quick summary:

Oberon has simplified Modula-2 by eliminating variant records,
enumerated types, nested modules, unqualified import, WITH statements,
CARDINAL, multitasking, OPAQUE, and maybe some other stuff.

Oberon extends Modula-2 by adding garbage collection, type extension,
multi-dimensional array parameters, and a new kind of WITH statement.

The key new feature is type extension.  Here's a simple example.
Imagine we want to declare a generally useful binary tree:

TYPE Tree = POINTER TO TreeNode;
     TreeNode =
	 RECORD
	     left,
	     right: Tree
	 END;

So far so good, but there's no data in our tree.
We can declare several extensions, one for each type of data:

TYPE IntTreeNode =
	 RECORD (TreeNode)
	     key: INTEGER
	 END;
     IntTree = POINTER TO IntTreeNode;

     RealTreeNode =
	 RECORD (TreeNode)
	     key: REAL
	 END;
     RealTree = POINTER TO RealTreeNode;

and so forth.
The idea is that we'll be able to use the same code to manipulate
trees of int's and tree of real's (or mixed trees).  Note that
we may re-extend extensions as necessary, and that extensions
provide the functionality of variant records in a cleaner fashion.
There are some details I haven't shown, 
but perhaps this will give you the flavor.

There are several papers on various aspects of the Oberon language.
There are also related papers on the Oberon OS and the Ceres hardware.
Some language papers include

	Type Extensions
	Wirth
	ACM Transactions on Programming Languages and Systems
	April 1988

	From Modula to Oberon
	Wirth
	Software -- Practice and Experience, July 1988

	The Programming Language Oberon
	Wirth
	Software -- Practice and Experience, July 1988

There's also a revised report available from ETH, dated August 1989.
Finally, you should check out the Journal of Structured Programming.
It often has articles on Oberon (and lots of other good stuff, including
various extensions to Modula-2).

-- 
Preston Briggs				looking for the great leap forward
preston@titan.rice.edu
Technical Details
Message-ID: <1990Sep10.165045.21083@rice.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rice!titan.rice.edu!preston
References: <5792@plains.NoDak.edu> <MOSS.90Sep9134825@ibis.cs.umass.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rice!titan.rice.edu!preston
From: preston@titan.rice.edu (Preston Briggs)
Newsgroups: comp.lang.modula2
Subject: Re: Modula3 and Oberon requests
Message-ID: <1990Sep10.165045.21083@rice.edu>
Date: 10 Sep 90 16:50:45 GMT
References: <5792@plains.NoDak.edu> <MOSS.90Sep9134825@ibis.cs.umass.edu>
Sender: news@rice.edu (News)
Organization: Rice University, Houston
Lines: 71