Triple script invariants

To be a valid triple script, a program must maintain three invariants. All triple scripts are:


Every dependency that a triple script relies on is baked in to its app file.

Triple scripts are designed to be copied or moved around at will, and doing so will not break any fragile directory structure.

A triple script must also work offline, since a network-connected thin (or fat) client that expects to be able to communicate with third-party services or any other kind of backend in order to function would violate the principle of self-containedness.

All triple scripts are able to "travel with" their dependencies due to the concatenated t-block format.


All programs implemented as triple scripts are homologous apps.

A triple script must be able to run in the browser (while maintaining the invariant of self-containedness), and the same program is written to be usable at the command-line without ever needing to leave the terminal.

Read more about the accessibility benefits of homologous UIs and the triple script philosophy.


The triple script dialect and the concatenated t-block format are designed to support automorphism.

For triple scripts, compilation is a non-destructive process. Given only a triple script built using the trplkt compiler, it's possible to recover with perfect accuracy the original source form of the compiled modules.

(Additionally, even the compiled form remains readable and editable. Read about the triple script dialect which makes this possible.)