We think that everybody should take acquaintance with certain
features of Loglan'82. Even if you will continue to use your favorite
XYZ language, you will be at least aware of what you are missing.
Four features of Loglan'82 distinguish it from the other OO languages:
Other, standard methods of OO programming are present in Loglan'82:
Loglan'82 is accompanied by an original methodology of software engineering which supports the most complicated and most expensive phases of software creation: specification, analysis and verification. There are good reasons for using Loglan'82 in:
The academic community has a need for one language which enables to teach all elements of object programming: classes & objects, coroutines, processes (in Loglan'82 processes are objects which are able to act in parallel), inheritance, exception handling, dynamic arrays etc. Loglan'82 offers the complete sets of programming tools used in object and modular and structural programming.
It is of importance to have compilers acting in different operating environments: MS-DOS, Unix, Atari, etc. in order to assure the exchange of sources between students and teachers, between users of : personal computers, workstations and servers of university's networks. We are working on the prolongation of the list of machines and systems that support Loglan'82.
Loglan'82 supports other styles of programming e.g. programming by rules, functional programming etc.
The teacher and the students can use different computers (see "Machines" file) and still they can exchange the sources and to follow the experiments of others. You can distribute the files of Loglan'82 among the students which own PC/DOS, ATARI, PS2, PC/Unix. You can install Loglan'82 in your computing centre on Unix or Vax/VMS or Novell servers. You can install Loglan'82 on your workstation (Sun, PC/Unix, Apollo etc.). On all machines you can compile and execute the same program. Whether it will be a student's program checked by a teacher, or an instructive program transmitted to the students. And students can work at home or in a computer room of your University.
For the PC users Loglan'82 comes with an environment consisting of - lotek - a text editor integrated with compiler and other tools, - a structural editor which guides you when you do not know the syntax of Loglan'82, - an electronic manual to be used with Norton Guide or its clones,
A set of instructive examples is added to the distribution package.
We encourage you to experiment with the system since:
Loglan'82 has been used as a tool with a success in research in:
this list is not the exhaustive one.
Loglan'82 is a source of many problems of broader interest.
The problem 1 was solved by the team lead by A.Kreczmar in co-operation with the group of H. Langmaack.
The problem 2 was solved by A.Kreczmar and was analyzed formally by H. Oktaba.
T.Müldner and A.Salwicki gave the Max model of parallel computations. H.-D. Burkhard proved that it differs essentially from the interleaving model.
B. Ciesielski gave a new concept of objects of processes and a communication mechanism of alien calls of procedures. This version was implemented by him in 1988.
The problems 4 - 12 are open. We would be happy to co-operate on solving them together with you.
We recommend Loglan'82 as a tool to be used in the research in: object-oriented databases, development of CASE tools, VHDL, silicon compilers, simulation, etc.
There are only a few languages which, like Loglan'82, enable both ways of modules' developing: nesting (- a module can be declared in other module) and inheritance (also called prefixing). The modules of your software can share the environment (by means of nesting) or they can inherit other modules as private copies of the modules declared elsewhere. The inheritance in Loglan'82 permits to inherit a module declared somewhere in the tree of nested modules. Moreover, the inheritance is no longer restricted to classes. Any module, whether it will be a class, a block, a procedure, a function, a coroutine or a process can inherit from a class. Coroutines and processes can be inherited in classes, coroutines or processes. Another kind of module is a handler. Handlers serve to handle signals (of exceptions).
Altogether one can use 7 kinds of modules.
The tools offered by Loglan'82 enable in various ways to create generic modules whether they are to serve as generic procedures or parameterized data types. In order to do so one can use either the possibility to pass types as formal parameters or the inheritance mechanisms. The language makes possible overloading the names of operations via the mechanism of virtual functions or procedures.
This and other programming tools offered by Loglan'82 permit to quickly create a prototype of a program and to test it in a friendly environment. The compiler gives a good diagnostic of the eventual errors. For the time being we can not offer a code generator. Instead you can use the Loglan_to_C crosscompiler.
The language is especially well suited for the
Loglan'82 supports various methods of programming:
Pau, le 26 Janvier 1994