SDIPD: Difference between revisions

From triplescripts.org wiki
Content added Content deleted
(clarification)
Line 3: Line 3:
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. (In the 1980s, this implementation detail catalyzed the free software movement, later rebranded as "open source" with the release of the Netscape Navigator source code in 1998.) 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.
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. (In the 1980s, this implementation detail catalyzed the free software movement, later rebranded as "open source" with the release of the Netscape Navigator source code in 1998.) 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]] uses non-destructive compilation. (The obvious question is whether trplkt itself exhibits SDIPD, and the answer is "yes"; trplkt is itself implemented as a triple script.)
Among other properties that [[triple script]]s exhibit, the triple script file format was designed to respect SDIPD. The triplescripts.org reference compiler [[trplkt]] uses non-destructive compilation. (The obvious question is whether trplkt itself exhibits SDIPD, and the answer is "yes"; trplkt is itself implemented as a triple script.)


== See also ==
== See also ==

Revision as of 17:54, 15 September 2020

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. (In the 1980s, this implementation detail catalyzed the free software movement, later rebranded as "open source" with the release of the Netscape Navigator source code in 1998.) 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 uses non-destructive compilation. (The obvious question is whether trplkt 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.