[Oberon] Porting S3 / V4 Oberon

Chris Burrows chris at cfbsoftware.com
Sun Jan 3 20:12:28 CET 2021

> -----Original Message-----
> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of
> peter at easthope.ca
> Sent: Monday, 4 January 2021 1:39 AM
> To: oberon at lists.inf.ethz.ch
> Subject: [Oberon] Re (2): Porting S3 / V4 Oberon
> One practical question I can't suppress.  Are the three, EXIT, LOOP
> and RETURN advisable or required? In my very limited experience,
> removing LOOP is relatively painless.  What  about tolerating RETURN
> and EXIT but not LOOP?  My knowledge is inadequate to judge the
> tradeoff.

LOOP and EXIT in Oberon-2 go hand in hand. With care, you can use a
multi-file find and replace tool to replace all "LOOP" statements in
hundreds of source code files with "WHILE TRUE DO" in seconds. However, the
EXIT statements are then orphaned because they are only legal within a LOOP

A small LOOP with a single EXIT is relatively painless to fix. It is when
you get nested LOOPs spanning many lines with multiple EXITs (and possibly
RETURNs) in each that life becomes interesting. 

This is where evolution kicks in. The lifetime of such code is limited by
the number of people who are able and prepared to maintain it. 

Chris Burrows
CFB Software

More information about the Oberon mailing list