10
\$\begingroup\$

For Quine programs one is not allowed to read the source of the program, for obvious reasons.

However Del|m|t does a good deal of memory storage in the source code of the program, thus it can read and write to its own source while it is running. Del|m|t can even write out of bounds by writing to negative indices you can create extra memory. What counts as reading the source code for Del|m|t? Can you read in the negative space before the source code or are you never allowed to read from the "source"?

\$\endgroup\$
  • 1
    \$\begingroup\$ Possible duplicate of Does using SMBF count as a cheating quine? \$\endgroup\$ – user62131 Feb 26 '17 at 3:26
  • \$\begingroup\$ Well, the reasoning there applies to all languages in which the memory image of the source code is available in memory and you can read it directly; it includes SMBF but also languages like assembler (which has similar properties). A more general answer is difficult without knowing the details of the language. (Any attempt to define a general rule for all languages is likely to lead to the creation of an esolang where it gives an absurd result.) \$\endgroup\$ – user62131 Feb 26 '17 at 3:33
  • \$\begingroup\$ @ais523 Ok you make a good point. I have adjusted the question to be specifically about Del|m|t \$\endgroup\$ – Sriotchilism O'Zaic Feb 26 '17 at 3:39
4
\$\begingroup\$

You can read negative spaces.

TL;DR: using command 20 on a value >= 0 counts as reading your source code.

Del|m|t puts the program's executable source code in the storage, starting from index 0. That means only non-negative storage spaces count as source code, as the negative ones do not store characters of the source code.

\$\endgroup\$
  • 1
    \$\begingroup\$ I don't know the language, but it seems a bit more complicated that this. For example, if the program was 20 characters long, we should allow reading characters 21 and up. Furthermore, assuming command 20 is the "read" command, what about the "copy" command, or any other command? \$\endgroup\$ – Nathan Merrill Feb 28 '17 at 14:32
  • \$\begingroup\$ @NathanMerrill For reading characters 21 and up, I don't think so, because then the current source code would change to include it as well AFAIK. Also, the read command is the guilty one, since it is needed to "copy" anything. \$\endgroup\$ – Erik the Outgolfer Feb 28 '17 at 15:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .