Simplicity of in-place editing of unconstrained base variables

Relaxing constraints on base variables simplifies data entry applications.

The idea is for the application to directly view/edit the unconstrained base variables, rather than temporary variables. This is called in-place data entry.

The following illustrates in-place data entry on a table:

inplace-edit-table

The rendition (which highlights errors) is a pure function of the database state.

highlight-errors-word

UI event handlers open short lived transactions and directly update the database. This corresponds to individual mouse and keyboard events, such as the insertion of a single character in a string.

When database replication and synchronisation is used, interactive multi-user editing of the data happens automatically, without any extra coding effort.