[Oberon] Concurrency support in Oberon

John R. Strohm strohm at airmail.net
Mon Jan 25 14:29:13 CET 2016


--- Lars (noreply at z505.com) wrote:
> Same goes for implementing Strings of arbitrary
> length..

String is not a type.  At best, it is an abstract data type, a set of operations (or methods) that operate on instances of that type and yield results of other (potentially abstract) data types.

The "reasonable" implementation of a fixed-length immutable short string is very different from the "reasonable" implementation of a potentially long variable-length mutable string.

The moment you start talking about inserting into or deleting from the middle a string, you have a nightmare on your hands, unless your mutable string was designed with those capabilities in mind.  At the same time, if you don't need those capabilities, there is no reason whatsoever for your String type to carry that extra baggage.



More information about the Oberon mailing list