Re: Shortest quine in D

2017-04-26 Thread Nick Sabalausky (Abscissa) via Digitalmars-d

On 04/26/2017 11:37 PM, H. S. Teoh via Digitalmars-d wrote:

On Thu, Apr 27, 2017 at 12:15:32AM +, 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


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).



Finally, our killer app!!! :)



Re: Shortest quine in D

2017-04-26 Thread H. S. Teoh via Digitalmars-d
On Thu, Apr 27, 2017 at 12:15:32AM +, 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.


Re: Shortest quine in D

2017-04-26 Thread Ali Çehreli via Digitalmars-d

On 04/26/2017 04:48 PM, Stefan Koch 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


use __FILE__
to make it a little more portable



Or a single letter source file to make it shorter. :p

Ali



Re: Shortest quine in D

2017-04-26 Thread Jon Degenhardt via Digitalmars-d

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


Re: Shortest quine in D

2017-04-26 Thread Stefan Koch via Digitalmars-d

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


use __FILE__
to make it a little more portable



Shortest quine in D

2017-04-26 Thread H. S. Teoh via Digitalmars-d
--hello.d:--
import std.stdio;void main(){write(import("hello.d"));}


Thanks to string imports, quines in D are actually trivial. :-D


T

-- 
Knowledge is that area of ignorance that we arrange and classify. -- Ambrose 
Bierce