SDIPD

From triplescripts.org wiki
Revision as of 22:37, 27 November 2020 by Colby Russell (talk | contribs) (better wording to make this point clear)

Triple scripts are an embodiment of the SDIPD principle (pronounced "serendipity" or "s'dipity"?). SDIPD stands for "package distribution is source distribution [sic]". (Yes, really. Equality is commutative.)

Software that obeys the SDIPD principle must eschew with conventional toolchains, requiring instead non-destructive compilation (if any compilation occurs at all). Traditional compilers take as input human readable source code and mangle it to produce an executable from which the original source code cannot be recovered. This implementation detail of computing systems in the 1980s catalyzed the free software movement, which was later given the label "open source" in 1998, motivated by the release of the Netscape Navigator source code. Much of the free and open source software corpus, however, does not exhibit or enable a form of computing with the goal of non-destructive compilation. Even if the source code is readily available, most projects' build procedures still rely on techniques that involve mangling the source code in pursuit of producing the "executables" or other object files. With non-destructive compilation, the program maintains some level of readability for humans whether in executable form or in its pre-compilation form, because the executable produced by the compiler can be considered equivalent to the original source code from which it was created; that is, it is possible reverse the compilation process to reproduce the original source code with perfect fidelity.

Among other properties that triple scripts exhibit, the triple script file format was designed to respect SDIPD. The triplescripts.org reference compiler trplkt applies non-destructive compilation to the programs it processes. (The obvious question is whether trplkt as a program itself exhibits SDIPD, and the answer is "yes"; trplkt is itself implemented as a triple script.)

See also

Automorphism

Cookies help us deliver our services. By using our services, you agree to our use of cookies.