Fundamental research
Szablon:W edycji Work on programming language Loglan'82 and its compiler was accompanied by vivid discussion and fundamental research. On these pages we shall report some of results as well as an attempt to define an axiomatic semantics of Loglan'82.
Problems and reports
Safe dealocation of objects
We are happy to present you the object managing system invented by Antoni Kreczmar. In his system one can use the instruction kill(x) in order to dealocate an object being the value of the variable x.
The axiom of kill reads
[math](x=y=z \neq none) \implies \{kill(y)\}(x=y=z=none)[/math]
For more information see safe delocation of objects
How to determine the inherited class
One program may contain many classes of the same name. This is due to the block structure of Loglan programs.
Now, suppose that a class B inherits 9I.e. extends) class A. Which of possibly many classes A we should identify as a base class?
This question is a fundamental one for the definition of semantics. There are 4 languages which admit both nesting of modules (i.e. block structure ) and inheritance:
- Simula67
- Loglan'82
- BETA
- Java
Each language gives another definition of the base class. We shall mention ...
Is it possible to keep the Dijkstra's mechanism of Display Vector ?
Alien call
Part II Axiomatic definitions of sublanguages of Loglan'82
Here we shall present a increasing sequence of sublanguages Li of Loglan'82. For each language we shall present its grammar and a semantics as defined by some axioms and inference rules.
Program
Program in Loglan'82 has the following structure
program <name>;
- <declarations>
begin
- <instructions>
end
Declarations of variables. Assignment instructions
Example
program P2 ;
- var x,y: integer;
begin
- y:=74;
- x:= y+ 8;
end
Grammar
Context free grammar
Well formed expressions
Axiom
[math]{x:=\tau}( \alpha ) \Leftrightarrow \alpha(x/\tau)[/math]