[Oberon] Intermediate scopes in Oberon-07

Chris Burrows chris at cfbsoftware.com
Sun Feb 11 01:19:33 CET 2018

> -----Original Message-----
> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of
> August Karlstrom
> Sent: Sunday, 11 February 2018 2:18 AM
> To: oberon at lists.inf.ethz.ch
> Subject: Re: [Oberon] Intermediate scopes in Oberon-07
> On 2018-02-10 15:37, Andreas Pirklbauer wrote:
> > In the few cases where it is, perhaps, desirable to nest a
> procedure
> > to indicate that it is called only from the enclosing procedure,
> one
> > can certainly live with those procedures being global.
> One advantage of a local procedure is that it can be given a shorter
> name since the context is clear. However, it is worse with locally
> declared types that need to be declared globally since they need to
> travel a long way up to the type section at the top of the module; a
> procedure can be defined near the procedure which calls it.

Reading between the lines I get the impression that maybe in your designs
you do not breakdown your modules as much as I might do. 

I would be interested to know the following statistics for your current
Oberon Projects. I'll attempt do the same for mine:

* The number of lines of code* per module (Min, Average and Max)? 

* The number of Procedures per module (Min, Average and Max)?

* The % of procedures that contain local Type declarations? 

* The % of procedures that contain local Procedures?

NOTE: "number of lines of code" is open to interpretation. As a first
approximation the number of lines of text in the source code file will be

Chris Burrows
CFB Software

More information about the Oberon mailing list