The Readable Programming Language - Handbook


Execution Environments

Web applications programmed in Lisilogic are intended to be deployed to different execution environments.

In the development tool (see Getting Started):

  • click "configurations" to open the deployment configuration tab
  • click "create configuration",
  • choose the target platform,
  • fill in the properties,
  • click "generate" to translate the application according to the new deployment configuration.

Each deployment configuration appears as a generate button at the top left of the development tool, just under "save, parse, compile".
Renaming the configuration will change the text of its button.

It is possible to define several deployment configuration for the same technology, for instance one for PHP under Linux with Xampp (main directory of the application being a subdirectory of /opt/lampp/htdocs/) and one for PHP under Windows with Xampp (main directory located in C:\xampp\htdocs\).


The first execution environment being developed is PHP + MySQL, because it requires no compilation and can be tested instantly.

Xampp is the recommended web server for development and test.

The configuration requires

  • a main directory (a subdirectory of the htdocs of your web server),
  • the database server (probably localhost for development), user and password,
  • the name of the database,
  • an optional prefix for the names of the database tables.

The generate button of the configuration will clean the main directory and write everything the application needs into it.

After generating your application, navigate to
http://your web server/main directory of the configuration/admin/init.php
to create or clean the database and create the tables.
A test user for each role (including user and admin, see Roles) is created automatically with his username and password both equal to the name of the role.

For now, you must call admin/init.php when the code has changed in a way that requires a modification of the database (a structure, an attribute or an enumeration value have been added, removed or renamed). This will reset the database each time, deleting and re-creating every table whose name starts with the prefix given in the configuration (all tables of the database if no prefix has been given). The upload directories for files and images will also be cleared while generating the PHP code.
Incremental modifications of an already deployed application is in development.

You can look at the generated directories, files and database using non-invasive tools (for instance a text editor for the files and PHPMyAdmin for the database), but don't modify them "per hand": your modifications may cause disfunctions in the application and they will be overwritten the next time it is generated or initialized.

After generating the application and initializing the database, you can use the application at
http://your web server/main directory of the configuration/
corresponding to the "Home" page of the application (see "Home" Page). If you aren't logged in yet, you'll see a login form on the "Home" page along with whatever UI elements have been defined on it for the visitor role (see Roles).

Note that PHP doesn't terminate the session or logout the user when the PHP files changes, so you can generate your application several times without logging out and in again. This is very convenient for small modifications, but it may lead to confusion if the objects stored in the session (the current user, the eventual session structure, the current procedure and its parameter, the server side of the editors displayed on the current page, ...) are modified. Don't forget to log out and in again to test in clean conditions. See User Interface: Simple Actions about how to provide an always visible logout button.

Remember that Lisilogic code is readable in order to be used as the documentation and handbook of the application. It gets generated under
http://your web server/main directory of the configuration/doc
For now, it is just a HTML copy of the source code. A search & find possibility will be added soon.

See also Getting Started.

Other Execution Environments

Java Standalone + a database system to be choosen (maybe JavaDB?) and JSP + a variety of database systems are planned.

Natural Languages

Lisilogic allows only programming in English, but it uses only a very regular and systematic subset of the English language, and doesn't allow literary experiments. This makes Lisilogic applications good candidates for an automatic translation to other natural languages.

The translation can then be used as a user manual or for documentation or validation purposes: the translation being automatic ensures that it is up to date and that no parts of the application remain undocumented.

The translation tool for each language will include a translation engine for the sentence structures and the keywords of Lisilogic, and a glossary tool where the programmer or translator can provide a translation for each word defined in the application (structure, attribute, procedure and enumeration names, enumeration values, displayed text constants, ...), along with the required grammatical information about these words (gender, plural, prepositions of verbs, etc.). A connexion to online dictionaries or translation tools is in study.

The first intended target language is German.