Article View: comp.lang.modula2
Article #1134Re: Modula3 and Oberon requests
From: Preston Briggs
Date: Mon, 10 Sep 1990 16:50
Date: Mon, 10 Sep 1990 16:50
71 lines
2689 bytes
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!prestonReferences:
<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