Można inaczej Andrzej Jacek Blikle

                                                                                                                                 

 

 

 

Narodziny gwiazdy

Rozmiar tekstu

Preliminary experiments with programming in Lingua-α

For further development of a project, in both layers — theoretical and practical — it is necessary to perform a series of programming experiments with Lingua-α (see The development of Lingua). Two application fields seem suitable for that purpose:

  1. Microprograms due to their relatively small volume and a very critical correctness issue.
  2. Simple SQL applications due to the availability of tools.

A programmer's environment

In order to perform some experiments with Lingua-α (see The development of Lingua), and in particular with the associated method of developing correct programs, one has to build an appropriate software environment of future programmers. In my opinion, it should cover the following three modules:

  1. An interpreter or a compiler. To make such an implementation maximally independent of possible errors in the language used to build it (my choice would be Python), some basic core could be coded in such a language, and the remaining part may be written using this basic core. This could also be the first experiment in using our language.
  2. An editor of programs supporting the construction of correct programs with the use of earlier developed program construction rules.
  3. An adaptation of an existing theorem prover for proving metaconditions (the properties of conditions), which is necessary for the use of program-construction rules.

What remains to be done

Although the book is already of a considerable size, the majority of issues covered in it have been only sketched. Besides, they are only theoretical issues, and their list is incomplete. The project offers many research problems in mathematics and software engineering that are worth considering. Some of them are listed in the menu on the right-hand side of this site. All interested parties are invited to contribute to the project's further development. More on the site An invitation to the project.

A new shape of user manuals

Denotational models should provide an opportunity for the revision of current practices seen in the manuals of programming languages. New practices should on one hand base on denotational models but on the other ? do not assume that today's readers are acquainted with them. A manual should provide some basic knowledge and notation needed to understand the definition of a programming language written in a new style. At the same time — I strongly believe that — it should be written for professional programmers rather than for amateurs. The role of a manual is not to teach the skills of programming. Such textbooks are, of course, necessary, but they should tell the readers what the programming is about rather than the technicalities of a concrete language.

An experiment in writing a user manual of Lingua is described in a paper available from the site On writing user manuals of programming languages.

RSS