[Oberon] Re (2): Completeness; Ceres.
joerg.straube at iaeth.ch
Fri May 4 17:38:43 CEST 2018
We have to clearly distinguish between "Oberon operating system" (a collection of modules with their APIs) and "Oberon programming language" (and its dialects).
"Contexts" are part of the Oberon language dialect/evolution "Active Oberon".
MODULE xy IN Oberon;
This can ONLY be written in "Active Oberon". Former Oberon dialects (namely Oberon and Oberon-2) do not offer contexts. So, when you run LinuxA2, you run the Oberon operating system A2 on top of Linux OS. And when you start the Oberon environment in A2, the legacy Oberon operating system runs on top of A2 that runs on top of Linux.
The compiler in the A2 system understands “Active Oberon”, one of several extensions to Wirth’s original legacy Oberon language.
There are papers describing the differences between the language dialect “Oberon” and “Oberon-2”, and there are papers describing the difference between the language “Oberon-2” and “Active Oberon”.
Now to the second part of your questions concerning the module “Text.Mod”.
You have to know that the Oberon operating system has several versions/evolutions: it began with Wirth’s original V1 and his V2.
But then it starts to get confusing: there are TWO different forks of V2, namely S3 and V4.
The GUI in S3 is quite different from the original V2 and V4. V4 is closer to its original V2.
S3 evolved to ETH Oberon and finally A2/Bluebottle. Development and evolution of V4 was moved over to Linz university.
The TextDesc* = RECORD (Objects.ObjDesc) with the inheritance from Objects is part of S3 and ETH Oberon and A2.
The TextDesc* = RECORD, without inheritance has roots in Wirth’s original V1, V2, V4 and now ProjectOberon.
Is somewhat unrelated to contexts..
From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of peter at easthope.ca
Sent: Friday, May 04, 2018 4:15 PM
To: oberon at lists.inf.ethz.ch
Subject: [Oberon] Re (2): Completeness; Ceres.
From: =?utf-8?Q?J=C3=B6rg?= < <mailto:joerg.straube at iaeth.ch> joerg.straube at iaeth.ch>
Date: Thu, 3 May 2018 22:37:32 +0200
> <http://www.ocp.inf.ethz.ch/wiki/Documentation/Language?action=3Ddownload&upn> http://www.ocp.inf.ethz.ch/wiki/Documentation/Language?action=3Ddownload&upn=
One of the earlier details added to the Wikibook.
> The legacy Oberon OS gets the context âÄžOberonâÄœ and the new
> Bluebottle/A2 OS (coded in the programming language Active Oberon, a
> dialect of Oberon) gets the context âÄžA2âÄœ
Currently I'm using the Oberon subsystem in Guenter's LinuxA2 Generic.
This is copied from Oberon.Texts.Mod .
MODULE Texts IN Oberon; (** portable *) (*JG 23.8.94*)
TextDesc* = RECORD (Objects.ObjDesc)
len*: LONGINT; (** Text consists of characters 0 to T.len - 1. *)
obs: Objects.Library; (* Library containing objects located in text. *)
org: LONGINT; (*cache*)
So appears to be the Oberon context.
Martin Reiser's _The Oberon System_, page 139 has this.
Text = POINTER TO TextDesc;
TextDesc = RECORD
That is Legacy Oberon or another? Certainly not the Oberon context above.
Thanks, ... Lyall E.
This message was composed and transmitted by software designed to
avoid the need, overhead and vulnerability of antivirus software.
123456789 123456789 123456789 123456789 123456789 123456789 123456789
Tel: +1 360 639 0202 Pender Is.: +1 250 629 3757
<http://easthope.ca/Peter.html> http://easthope.ca/Peter.html Bcc: peter at easthope. ca
<mailto:Oberon at lists.inf.ethz.ch> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Oberon