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

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

This one IF does not harm much compared to the code for Write() or Append()

-----Original Message-----
From: Oberon <oberon-bounces at lists.inf.ethz.ch> On Behalf Of
peter at easthope.ca
Sent: Tuesday, January 15, 2019 7:10 PM
To: oberon at lists.inf.ethz.ch
Subject: [Oberon] Re (2): Re (2): Re (2): The Out module.

From:	=?utf-8?Q?J=C3=B6rg_Straube?= <joerg.straube at iaeth.ch>
Date:	Tue, 15 Jan 2019 17:04:11 +0100
> I use Out in all my programs in ProjectOberon.

Thanks.  I was beginning to wonder whether I was off on a wild-goose chase.

> This is the reason why I found out, that the huge amount of
> Texts.Append() in the original implementation will eat up a lot of 
> memory.

Noted.  Thanks.

> BTW: I added printf() to my Out.Mod to further simplify output capability.

Had to dig out the C Language Programmers Reference purchased about 1987.
printf (format, arg1, arg2, ...)
format = %[flags] [size] [.prec] [l] type

Implementing all of those parameters would be quite ambitious.  Multiple
arguments is appealing.

> I used a BOOLEAN variable and the different output procedures follow this
> BEGIN Texts.WriteString(W, s); Append END String;

Append must contain IF or CASE, increasing time more than memory.
Seems right considering that the module is switched off by IMPORT ... Out =
OutStub ... .

Thanks again,                      ... Lyall E.

Message composed and transmitted by software designed to avoid the
complication, overhead and vulnerability of antivirus software.

123456789 123456789 123456789 123456789 123456789 123456789 123456789
Tel: +1 360 639 0202                                  +1 
http://easthope.ca/Peter.html              Bcc: peter at easthope. ca
Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems

More information about the Oberon mailing list