<div dir="ltr">"6) Everything works at simple artificial tests, but more real tests are required. Therefore I will continue work on AGG library (High Fidelity 2D Graphics), using the improved records. I think, it will be the good test."<div><br></div><div>We'll have to port the AGG library to A2 -- I can definitely use it. I don't understand why only Felix develops A2 and only I use it -- seemingly. <br><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 2, 2016 at 7:00 AM, <span dir="ltr"><<a href="mailto:oberon-request@lists.inf.ethz.ch" target="_blank">oberon-request@lists.inf.ethz.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send Oberon mailing list submissions to<br>
<a href="mailto:oberon@lists.inf.ethz.ch">oberon@lists.inf.ethz.ch</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/<wbr>mailman/listinfo/oberon</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:oberon-request@lists.inf.ethz.ch">oberon-request@lists.inf.ethz.<wbr>ch</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:oberon-owner@lists.inf.ethz.ch">oberon-owner@lists.inf.ethz.ch</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Oberon digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
1. Re: Oberon for a C++ user. (Felix Friedrich)<br>
2. non-X LNO:Framebuffer ? (eas lab)<br>
3. Re: Oberon for a C++ user. (Serge Durmanov)<br>
<br>
<br>
------------------------------<wbr>------------------------------<wbr>----------<br>
<br>
Message: 1<br>
Date: Tue, 1 Nov 2016 22:29:40 +0100<br>
From: Felix Friedrich <<a href="mailto:felix.friedrich@inf.ethz.ch">felix.friedrich@inf.ethz.ch</a>><br>
To: ETH Oberon and related systems <<a href="mailto:oberon@lists.inf.ethz.ch">oberon@lists.inf.ethz.ch</a>><br>
Subject: Re: [Oberon] Oberon for a C++ user.<br>
Message-ID: <<a href="mailto:58190944.7070601@inf.ethz.ch">58190944.7070601@inf.ethz.ch</a>><br>
Content-Type: text/plain; charset="windows-1252"; Format="flowed"<br>
<br>
Hi Serge<br>
<br>
Inspired by your email and driven by my interest in value semantics in<br>
Active Oberon, I have now experimentally added type-bound procedures on<br>
records in Active Oberon supporting polymorphism etc, i.e. Oberon-2<br>
within Active Oberon.<br>
<br>
We have to experiment and identify how this works together with Active<br>
Objects. Feedback welcome.<br>
<br>
Best regards<br>
Felix<br>
<br>
The following works, for example<br>
<br>
MODULE Test;<br>
<br>
TYPE<br>
R* = RECORD Y,X*: LONGINT; END;<br>
S* = RECORD(R) Z: LONGINT; END;<br>
<br>
PROCEDURE (VAR r: R) Test* (x: LONGINT): LONGINT;<br>
BEGIN<br>
TRACE(r.X,.r.Y);<br>
RETURN r.X + x + r.Y;<br>
END Test;<br>
<br>
PROCEDURE (VAR s: S) Test (x: LONGINT): LONGINT;<br>
BEGIN<br>
TRACE(s.X. s.Y, s.Z);<br>
RETURN s.X + 2*x;<br>
END Test;<br>
<br>
PROCEDURE TestDyn*(VAR r: R);<br>
BEGIN<br>
TRACE(r.Test(10));<br>
END TestDyn;<br>
<br>
PROCEDURE Test*;<br>
VAR r: R; s: S; z, zz: LONGINT;<br>
BEGIN<br>
r.X := 123;<br>
TestDyn(r);<br>
TestDyn(s);<br>
END Test;<br>
<br>
END Test.<br>
<br>
<br>
<br>
<br>
On 26.10.2016 14:10, Serge Durmanov wrote:<br>
> 27.09.2016, 23:11, "Felix Friedrich" <<a href="mailto:felix.friedrich@inf.ethz.ch">felix.friedrich@inf.ethz.ch</a>>:<br>
> ...<br>
> > Let me first of all confess that I like Oberon-2 a lot. I always thought<br>
> > it would be a good idea to reintroduce the type bound procedures on<br>
> > value types in Active Oberon. [Most important difference to Active<br>
> > Oberon in this context: methods can be defined outside the scope of an<br>
> > object, methods can be defined on records, not only pointer to records.]<br>
> >...<br>
> Hi, Felix.<br>
> Hi, Felix.<br>
> Are there any changes to the language in this plan?<br>
> We need not reference types that have the methods that adds to the<br>
> convenience in the design and simplifies the code. I did the porting<br>
> on the Active Oberon AGG lib, and lacked methods on the records, and I<br>
> make a separate module (one record type - one module), but it is not<br>
> convenient and not possible to do polymorphism. I go back to classic<br>
> Oberon and use procedural variables in records. But ...it is the<br>
> sundown manually<br>
> Serge<br>
><br>
><br>
> --<br>
> <a href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
> <a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/<wbr>mailman/listinfo/oberon</a><br>
<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.inf.ethz.ch/pipermail/oberon/attachments/20161101/550e454e/attachment-0001.html" rel="noreferrer" target="_blank">http://lists.inf.ethz.ch/<wbr>pipermail/oberon/attachments/<wbr>20161101/550e454e/attachment-<wbr>0001.html</a>><br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Wed, 2 Nov 2016 07:00:11 +0200<br>
From: eas lab <<a href="mailto:lab.eas@gmail.com">lab.eas@gmail.com</a>><br>
To: ETH Oberon and related systems <<a href="mailto:oberon@lists.inf.ethz.ch">oberon@lists.inf.ethz.ch</a>><br>
Cc: chris glur <<a href="mailto:crglur@gmail.com">crglur@gmail.com</a>><br>
Subject: [Oberon] non-X LNO:Framebuffer ?<br>
Message-ID:<br>
<<a href="mailto:CAN3-DLHgFWqnJ2JSfzZeqpAujfUTubbeLXJCTsENnxxBiaNeGw@mail.gmail.com">CAN3-<wbr>DLHgFWqnJ2JSfzZeqpAujfUTubbeLX<wbr>JCTsENnxxBiaNeGw@mail.gmail.<wbr>com</a>><br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
Modern PC's with the new UEFI booting have succeeded in<br>
frustrating the open-source Linux system from free-riding on their<br>
WinTel hardware.<br>
<br>
Only after great difficulty have I got a partial [ lacking X ]<br>
linux running. Our LNO, which I had dated as: 121104 was able to<br>
also run without X, on my now stolen hardware.<br>
Ie. using a frame-buffer.<br>
<br>
------------<br>
A safety copy of the files of my stolen system, using the good<br>
old proven start-script, now gives the following error symptoms:<br>
<br>
line 2: 2162 Floating point exception./oberon<br>
<br>
and ---/LNO121104/oberon.log == ...<br>
GetConfig: Speedup=""<br>
Can't open /dev/mouse, trying /dev/input/mice<br>
GetConfig: FontConv=""<br>
GetConfig: Color=""<br>
GetConfig: MB=""<br>
Received signal nr. 8 at signal handling level 1<br>
TRAP 0<br>
CS:=00000073 DS:=0000007B ES:=FFFF007B SS:=0000007B CR0=?------? FPS=?------?<br>
EIP=097D5BBD ESI=BFD79440 EDI=BFD793AC ESP=BFD7939C CR2=00000000 SBT=BFD797E0<br>
EAX=00000000 EBX=BFD70000 ECX=0000000B EDX=097E0000 CR3=?------? KFL=?------?<br>
EBP=BFD7939C FS:=C12C0000 GS:=00000000 ERR=00000000 CR4=?------? TCK=00332DFA<br>
<br>
Oberon PC = 3877<br>
TextFrames PC = 24415<br>
System PC = 415<br>
System PC = 2628<br>
Oberon PC = 4860<br>
TextFrames PC = 12027<br>
TextFrames PC = 12915<br>
System PC = 20131<br>
OFSBoot PC = 413<br>
OFSBoot PC = 2753<br>
--------------- end of useful log file.<br>
<br>
Please help me recover ETHO's unique ability to<br>
see and manipulate the contents of multiple files,<br>
on the same screen.<br>
<br>
PS. wily, which copied ETHO, also needs X.<br>
<br>
Thanks for advice.<br>
<br>
==Chris Glur.<br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Wed, 02 Nov 2016 13:41:04 +0600<br>
From: Serge Durmanov <<a href="mailto:serge.durmanov@yandex.ru">serge.durmanov@yandex.ru</a>><br>
To: ETH Oberon and related systems <<a href="mailto:oberon@lists.inf.ethz.ch">oberon@lists.inf.ethz.ch</a>><br>
Subject: Re: [Oberon] Oberon for a C++ user.<br>
Message-ID: <<a href="mailto:5379301478072464@web39m.yandex.ru">5379301478072464@web39m.<wbr>yandex.ru</a>><br>
Content-Type: text/plain<br>
<br>
Hi Felix.<br>
<br>
Cool! But there are several remarks and questions.<br>
1) Initialisers/finalizers, like Objects aren't realized.<br>
2) Doesn't work the operator NEW in the form of "v : = NEW T (); T = POINTER TO R; R = RECORD.;"<br>
3) Syntax the Oberon-2 looks alienly in Active Oberon, it is necessary to switch from syntax the O2 to syntax AO and vice versa. If it is planned the type-bounded procedures for records only, then as it seems to me, it is better to use the unified syntax of Objects.<br>
TYPE<br>
R = RECORD<br>
value: INTEGER;<br>
<br>
PROCEDURE & Init( );<br>
BEGIN<br>
SELF.value := 100;<br>
END Init;<br>
<br>
PROCEDURE P*( );<br>
END P;<br>
END;<br>
<br>
And in addition realize a front-end the Oberon-2;<br>
<br>
4) If nevertheless Oberon-2 style is more preferable, then the receiver form without identifier, with use of the predefined designator SELF is more preferable:<br>
<br>
R = RECORD<br>
value: INTEGER;<br>
END;<br>
<br>
PROCEDURE ( VAR T ) & Init( );<br>
BEGIN<br>
SELF.value: = 100;<br>
END Init;<br>
<br>
PROCEDURE ( T ) P*( );<br>
END P;<br>
<br>
As, additional any identifier in the form of PROCEDURE ( r: T ) P*( ); complicates perception of the stranger / inaccurately written code, brings excess entities, besides it is necessary to remember a receiver name.<br>
<br>
5) If the field in record has an initialiser, that field isn't initialized if record is imported:<br>
MODULE M1;<br>
R = RECORD<br>
i := 100: INTEGER;<br>
END;<br>
<br>
MODULE M2;<br>
IMPORT M1;<br>
O = OBJECT<br>
VAR r: M1.R; (*!*)<br>
END O;<br>
<br>
6) Everything works at simple artificial tests, but more real tests are required. Therefore I will continue work on AGG library (High Fidelity 2D Graphics), using the improved records. I think, it will be the good test.<br>
<br>
7) What happens to the cooperative A2? It isn't compiled or doesn't work( if compiled).<br>
<br>
Serge<br>
<br>
<br>
> 02.11.2016, 03:56, "Felix Friedrich" <<a href="mailto:felix.friedrich@inf.ethz.ch">felix.friedrich@inf.ethz.ch</a>>:<br>
> Hi Serge<br>
<br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/<wbr>mailman/listinfo/oberon</a><br>
<br>
<br>
------------------------------<br>
<br>
End of Oberon Digest, Vol 150, Issue 2<br>
******************************<wbr>********<br>
</blockquote></div><br></div>