[Oberon] Re (2): The Out module.

Jörg joerg.straube at iaeth.ch
Tue Jan 15 14:43:45 CET 2019


Procedure variable is an overkill in this example.
Exported BOOLEAN is fine. But you need a procedure to set it, as you can't
set an exported variable in Oberon-07 anymore.


-----Original Message-----
From: Oberon <oberon-bounces at lists.inf.ethz.ch> On Behalf Of Chris Burrows
Sent: Tuesday, January 15, 2019 11:23 AM
To: 'ETH Oberon and related systems' <oberon at lists.inf.ethz.ch>
Subject: Re: [Oberon] Re (2): The Out module.

> -----Original Message-----
> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of 
> peter at easthope.ca
> Sent: Tuesday, 15 January 2019 2:51 PM
> To: oberon at lists.inf.ethz.ch
> Subject: [Oberon] Re (2): The Out module.
> > Be aware that in Oberon-07 variables are now exported as read-only.
> Thanks.  Forgot about that.  Fixed in V5 using procedure variables.
> https://en.wikibooks.org/wiki/Oberon/V5
> Seems devious but it compiles.  Out.Open works but haven't tested 
> further.  I'm interested to read any comments about the use of 
> procedure variables.

It does not look 'as simple as possible' to me ;-)

The extra complexity might be justified if there was a noticeable difference
in code size or execution time but that is not the case.

If my calculations are correct the number of instructions executed by Append
is identical for both the procedure variables version and the simpler
boolean variable version. 

However, the total code size of the procedure variable version is 15% larger
than the boolean variable version.


Chris Burrows
CFB Software

Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems

More information about the Oberon mailing list