Talk:Oberon

Identifiers
Identifiers not in "Proposal for Modules Contexts" have been invented ad hoc. Concerns can be discussed here. Regards, PeterEasthope (discuss • contribs) 20:58, 14 April 2017 (UTC)

The meaning and origin of the GA context identifier (for Project Oberon 2013) is not clear to me. Could you explain it? Regards, Hans Klaver Hansklav (discuss • contribs) 18:24, 22 June 2017 (UTC)
 * GA = Gate Array. GA is the simplest identifier I could think of to distinguish the system running on a gate array from other systems.  Without a identifier there is no straightforward way to recognize which system a source Text belongs to.  If you prefer a different identifier, please explain.  Thanks,  ... PeterEasthope (discuss • contribs) 00:29, 24 June 2017 (UTC)


 * Ah, now I see: GA are the last letters of FPGA; but this was not at all obvious to me until you explained it...
 * Imho this is not a good context identifier for Oberon 2013. It is too much referring to the hardware, which is not essential for the software contexts we are talking about. Wirth's RISC instruction set is what his Oberon-07 compiler knows about, but even that is just one implementation of the system. Like A2 it could be ported to other instruction sets. So the context identifier should be more at the level of the programming language + Oberon system. "PO" could be a candidate, but PO comprises more than the software (also the RISC instruction set, the Verilog FPGA code, the various hardware FPGA's, the Oberon RISC emulators, etc.).
 * My proposal would be "V5". This is what Wirth chose to call the present Oberon System; it is what everyone reads after booting the System: "Oberon V5"; it is in line with V1, V2 (early Oberon Systems), V3 (later System 3 and ETH-Oberon) and V4 (Linz-Oberon); and it implicitly includes the programming language used: S3/EO uses Oberon (1990), V4 uses Oberon-2, and V5 uses Oberon-07. Hansklav (discuss • contribs) 18:44, 24 June 2017 (UTC)
 * OK, good. The change is done.  Seems EO might also move to V3.  Improvement?  Not necessary?  In the 2nd column, between FPGA and V5, I have "Oberon 2013".  That should be "Oberon V5".  Correct?  Thanks,  ... PeterEasthope (discuss • contribs) 03:50, 26 June 2017 (UTC)


 * Thanks for changing the other occurrences of GA to VR. Also maybe the sentence "ProjectOberon written in Oberon-07." should be "Oberon V5 (described in Wirth's Project Oberon, 2013 edition)".
 * I wonder if the EO context is not the same as the Oberon context of AOS, but it's been years ago since I last worked in them. As far as I know the term V3 was hardly ever used, as it soon became System 3 and later ETH-Oberon, to distinguish it from V4 (Linz-Oberon). Hansklav (discuss • contribs) 16:12, 26 June 2017 (UTC)
 * I have PC Native and UnixAos Oberons at work and at home; not where I am at present.  The only difference I've noticed between sources in the two systems is the CONST declaration in the PROCEDURE parameter list in UnixAos.  Will try it in PC NO when there is an opportunity.  I'm stranded here for a while.  Do you object to adding the V4 identifier to the wikibook?  Thanks,  ... PeterEasthope (discuss • contribs) 02:03, 27 June 2017 (UTC)
 * At least one difference between ETH Oberon and A2 Oberon exists.

HTMLDocs (* IN EO *); PROCEDURE TextAlign*(VAR align: ARRAY OF CHAR): TextGadgets.Style;

HTMLDocs IN Oberon; PROCEDURE TextAlign*(CONST align: ARRAY OF CHAR): TextGadgets.Style;
 * A small difference but the compiler in EO won't accept CONST. In my view, the compiler should be updated but my skills are not ready for that. Regards, ... PeterEasthope (discuss • contribs) 15:54, 7 July 2017 (UTC)


 * I'm OK with adding the V4 context for Linz-Oberon, but I think V4 is not a good context ID for BlackBox. For BlackBox BB would be a good context ID, and CP for Component Pascal source not specifically tied to the BlackBox Framework (there is also Gardens Point Component Pascal). Hansklav (discuss • contribs) 06:46, 28 June 2017 (UTC)
 * Add these four rows to the context table?


 * All of these variants continue to attract interest? The Linz server, ftp://ftp.ssw.uni-linz.ac.at/pub/Oberon/, doesn't respond.  Thanks, ... PeterEasthope (discuss • contribs) 15:06, 30 June 2017 (UTC)

I think these attract interest, but beware: Gardens Point CP is machine/platform independent since it uses virtual machine abstractions given by the JVM Java Virtual Machine and CLI Common Language Infrastructure
 * The Machine column for GPCP is adjusted. Better?  I've never used BlackBox or Component Pascal and don't understand the relationship.  BB is an OS?  CP is a dialect of Oberon?  The syntax of CP differs from the syntax in BB?  Thanks, ... PeterEasthope (discuss • contribs) 13:30, 5 July 2017 (UTC)
 * The four identifiers are in the book now in alphabetical order. Corrections welcome.  Thanks for suggesting this addition.  The server at Linz is responding and I've added the link to the archives.  There is a directory for System 3 but I haven't found a mention of V4 or any instructions for installation.  Recommendations welcome.  Thanks, ... PeterEasthope (discuss • contribs) 13:31, 14 July 2017 (UTC)

Organization of this title page
Hello 93.184.22.210. Thanks for your work. Good to have the help. A conventional document structure has an introduction preceding the table of contents. In that arrangement the section heading "Introduction" is not necessary. Do you object to an introductory paragraph preceding Contents? Thanks, ... PeterEasthope (discuss • contribs) 16:01, 18 June 2017 (UTC)
 * Other books also begin with the table of contents. Will leave as is for now.  ... PeterEasthope (discuss • contribs) 00:17, 26 June 2017 (UTC)

Installation (Draft)
Between Q4/2017 and Q2/2018 the subversion repository of A2 changed dramatically. Currently (August/2018) it contains completely working executables in subdirectories for (at least) Windows (32 and 64bit versions) and Linux (Intel 32 and 64 bit versions). There is also an ARM subdirectory, but I did not (yet) check if it is working.

To checkout from the repository use the following command:  to clone the repository into the existing directory a2. Then change into the corresponding directory, e.g.  and start A2 with. This worked flawlessly for me with Linux64 in Siduction (a Debian derivate based on sid) on a quite current notebook and for Linux32 on Q4OS (another Debian derivate based on stable) on an outdated P4 desktop PC. Treutwein (discuss • contribs) 13:17, 14 August 2018 (UTC)

Oberon Text (Draft)
An Oberon text can appear to be no more than a sequence of ASCII characters as in other systems. But in general Oberon Text is a very rich text format, which may contain active elements, pictures, different fonts, folds, and much more. Its capabilities are somewhat parallel to HTML. In an instance of Text, characters can have attributes including specifications of typeface, size and color. Furthermore a Text can include non-character objects; an image or a hyperlink for example.

Nevertheless Text is a type defined in the Text module, with chains pieces of character sequences together with serialized information about embedded elements. Here major design differences are apparent between plain Oberon, V2, S3 and V4. The later V5 is some kind of a return back to V1.

The following tables are a dissection of the structure of records in memory representing the Text containing a sequence of characters.

Treutwein (discuss • contribs) 13:17, 17 August 2018 (UTC)