LOGLAN '88. Report on the programming language
The book contains a complete description of the high level programming language LOGLAN born at the Institute of Informatics of Warsaw University. LOGLAN belongs to the family of object-oriented programming languages. The main constructs for dealing with objects, i.e. classes and inheritance are borrowed from SIMULA-67, but in LOGLAN they are substantionally extended. The LOGLAN memory model is homogeneous, like in SIMULA, and keeps anonymous and named objects in one memory pool. Moreover, named objects in LOGLAN may be deallocated not only because they become non-accessible, but also by a programmer's decision. In order to avoid the very dangerous dangling reference, the LOGLAN memory model has a virtual addressing system. Parallelism in LOGLAN has an object- oriented nature. Processes are treated like objects of classes. They may be dynamically generated and dynamically deallocated when no longer useful. The communication between processes is provided by alien calls which is similar to remote calls. Aside from of real parallelism LOGLAN preserves possibilities for quasi- parallelism by means of coroutines. Real parallelism is supported by processes which can be implemented in a shared or a distributed model. Procedure and functions can be treated as objects and therefore LOGLAN admits to operate on variables having procedures and functions as values. Aside from normal static arrays, LOGLAN provides dynamic adjustable arrays. They are treated as objects, so they are dynamically generated and their index range is defined by a statement, not by a declaration. Multidimensional dynamic arrays are constructed as data structures defined in terms of objects. The LOGLAN semantic model provides multi-level inheritance, but does not provide multiple-inheritance. Because such a construct may have different semantic models, each of them creating completely different semantic consequences. The multi-level inheritance gives possibilities for free use of inheritance in combination with free use of nesting that is still very useful in object-oriented programming. The language LOGLAN is described in the BNF form. All definitions are correct and illustrated by appropriate examples.
scientific article; zbMATH DE number 45981