[Oberon] Procedure variables and local procedures

Skulski, Wojciech skulski at pas.rochester.edu
Sat Sep 30 03:18:50 CEST 2017


Joerg:

>Btw. another issue I see with Oberon-07 ist the removal of dynamic
> arrays. I cannot imagine how to write for example a string library or
> something like that without.

I do not know the string libs mentioned by Chris, but I used mathematical libs by Robert Campbell. I also wrote waveform data acquisition and corresponding graphics. All of these highly useful programs are based on something like the following, copied from my own code.

  RArray* = POINTER TO ARRAY OF REAL;
  IArray* = POINTER TO ARRAY OF INTEGER;

> Would you please explain „dynamic arrays“? Do you miss the low level SYSTEM.NEW(p, n)?

I am guessing that Chris has the above in mind. I second his opinion: without the dynamic arrays (or "open arrays") the language is crippled.

> The modules handling dynamic structures (eg. text editor, network stack or files) 
> do in principle use the same internal scheme: they use chains of blocks of fixed size.

Perhaps it works OK if one is developing a text editor. I still remember Turbo Editor Toolbox was using a similar approach.

Writing an algebra library using this method takes us back to FORTRAN. Here I second Chris. I too cannot imagine working in this area without dynamic arrays.

Perhaps you guys could have a look at monumental work done by Robert? This might provide some arguments against cutting off what you consider dead wood, which is in fact crucial for some applications.


Thanks,
Wojtek


More information about the Oberon mailing list