-1
\$\begingroup\$

This question already has an answer here:

I am working on a golfing language, and I think I have figured out a way past the "a program may not read it's own source code as input" rule.

The idea is simple: every time a command is executed, the characters that make up the command are added to a string, which here I will call the "string constructor." The string constructor does not read the program, the program's functions add themselves to the string constructor. Then the command itself is executed. There are commands that push the string from the string constructor onto the stack, clear the string constructor, and so on.

This is useful for constructing strings of course. The "Hello, World!" program could be "Hello, World! or Hello, World!<command that pushes string constructor and clears the stack>. But this is obviously useful for quines too.

There is nothing saying that this is against the rules that I have found. It is not reading its own source code, and it is payload-capable. But despite that it breaks no rules, it still can do pretty much the same thing as Q in HQ9+.

Is this idea against the rules?

I have not implemented this yet.

\$\endgroup\$

marked as duplicate by Comrade SparklePony, Community May 1 '17 at 15:13

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • \$\begingroup\$ This is more of the language as a whole breaking the rules, I think. I'm not sure what you're asking. \$\endgroup\$ – Rɪᴋᴇʀ May 1 '17 at 14:57
  • 2
    \$\begingroup\$ The string constructor does not read the program, the program's functions add themselves to the string constructor. That sounds like using a different name for something that is prohibited. \$\endgroup\$ – Mego May 1 '17 at 14:59
  • 2
    \$\begingroup\$ It must be possible to identify a section of the program which encodes a different part of the program. It sounds like each character encodes itself, therefore a program like this would not be a proper quine. \$\endgroup\$ – Riley May 1 '17 at 15:01
  • \$\begingroup\$ @Riley Thanks, somehow I missed that part. It definitely is cheating. \$\endgroup\$ – Comrade SparklePony May 1 '17 at 15:04
0
\$\begingroup\$

Yes, it is cheating.

According to Mego, it is cheating because it uses a different name for something that is prohibited. I agree with this.

According to Riley, it is impossible to identify a section of the program which encodes another (because each section encodes itself) and therefore it is cheating. I agree with this.

Therefore, it is definitely cheating.

\$\endgroup\$

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