On Thu, Apr 27, 2017 at 12:15:32AM +0000, Jon Degenhardt via Digitalmars-d wrote: > On Wednesday, 26 April 2017 at 23:19:32 UTC, H. S. Teoh wrote: > > ------hello.d:------ > > import std.stdio;void main(){write(import("hello.d"));} > > -------------------- > > > > Thanks to string imports, quines in D are actually trivial. :-D > > > > > > T > > :) https://en.wikipedia.org/wiki/Quine_(computing)#.22Cheating.22_quines
Technically, the *program* itself takes no input, because string imports happen at compile-time, and the program's source is in fact embedded in the executable, not read at runtime. So technically it's not cheating. :-P But of course, it's in the "spirit of cheating" because it actually avoids the insight that comes with actually writing a quine without using string imports. And on that note, an actual cheating quine for D would be the blank .d file: because compiling with dmd -main produces an executable that writes no output (i.e., output of length zero, identical to the source code). T -- If creativity is stifled by rigid discipline, then it is not true creativity.