Shortest quine in D

H. S. Teoh via Digitalmars-d digitalmars-d at puremagic.com
Wed Apr 26 20:37:23 PDT 2017


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.


More information about the Digitalmars-d mailing list