[Oberon] Oberon Digest, Vol 150, Issue 2

Søren Renner soren.renner at gmail.com
Wed Nov 2 13:18:32 CET 2016


"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."

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.


On Wed, Nov 2, 2016 at 7:00 AM, <oberon-request at lists.inf.ethz.ch> wrote:

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


More information about the Oberon mailing list