Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.


From wiki
(Redirected from Non-destructive compilation)

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

Given the state of conventional software development, it follows that software obeying 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 catalyzed the free software movement in the 1980s—later the movement was retrofitted to operate under the banner of "open source", a term that arose 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 compilers that perform the destructive process of transforming human readable source code into binary executables and object files suitable for loading into memory when the program is run but unfit for further editing—at least not with the same fidelity as edits to the original ("source") code. With non-destructive compilation, the program maintains its readability for humans whether the program is in its compiled form or in its original form before compilation, and indeed 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 to reverse the compilation process to reproduce the original source code with perfect fidelity. That's a precondition for non-destructive compilation generally.

For the non-destructive compilation approach that takes in particular, it's feasible for a human to open the compiler output and modify it directly to make the sorts of changes to the program he or she desires, with no need for intermediate decompilation and recompilation steps (although this approach is of course available to the machine operator).

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

See also[edit]

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