[Oberon] Wirthian Beer. Brewed by Modula-2

Frans-Pieter Vonck fp at vonck.nl
Sat Nov 10 20:08:32 CET 2018


Ha Hans,

at hackerspace Techinc your Modula-2 project has a legendary status.

As I was making my way through some cpp code written for the an esp8266 
based I stumbled on the infamous yield() function. No one in the Space 
could explain what exactly was happening in the program when using this 
instruction.
The message was that it was a trivial question. Just sprinkle some 
yields{} around the code and the wifi subsystem was kept alive.

I refered to the one loop multi-task loop of the Oberon System.
And from that I told that golang descended from Oberon and before that 
Modula.

"Hey Modula-2, that is the same weird language that guy uses for his 
home beer brewery. On an Amiga. A real scientist. Everything must be 
exactly measured after the comma."

For them, total representatives of the trial and error programming 
style, writing in Modula-2 was something as archaic as writing 
cuneiform.

So, I'm interested in meeting you.
It would be nice to see a working a realtime Writhian system in the 
flesh.

Greets,
F.P.


Hans Klaver schreef op 2018-11-10 17:19:
> Chris Burrows wrote:
> 
>> (...)
>> Consequently I’m thinking of implementing an extension to the
>> Astrobe Oberon-07 compilers. This will allow low-level modules to be
>> specified by prefixing the keyword MODULE with the keyword SYSTEM
>> (similarly to the DEFINITION and IMPLEMENTATION module prefixes in
>> Modula-2). Such system modules would allow / require any SYSTEM
>> objects to be referenced unqualified.
>> 
>> (...)
>> Any comments?
>> 
>> Any other suggestions for solving this problem?
> 
> The Modula-2 way of using:
>      FROM SYSTEM IMPORT PUT, GET, BIT, UBF;
> has the advantage of self-documentation.
> 
> If you would extend the Astrobe Oberon-07 compilers with SYSTEM MODULE
> ... maybe it would be sensible to advise programmers to always add a
> comment to document which procedures are imported from module SYSTEM,
> like this:
> 
>     SYSTEM MODULE Clock;
> 
>     IMPORT MCU;
>     (* From SYSTEM imported: PUT, GET, BIT, UBF *)
> 
>     ...
> 
> Hans
> 
> --
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related 
> systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon


More information about the Oberon mailing list