We have rules about answering challenges with a language that was invented after the challenge was posted.

Can I invent a language to easily solve a challenge that's currently in the Sandbox and then answer with that language once the challenge has been posted?

I doubt this has happened for a whole language but I'd be willing to bet that updates have been made to languages based on bugs found in Sandboxed challenge attempts.

  • 7
    \$\begingroup\$ Related: Using prior knowledge to circumvent other loopholes \$\endgroup\$
    – Dennis
    Commented Oct 18, 2015 at 16:02
  • \$\begingroup\$ "updates have been made to languages based on bugs found" - there is a distinction, although sometimes a fine one, between a language and its reference implementation. It's not the same thing to fix a bug where the reference implementation doesn't follow a clearly written spec as to extend the language itself, modifying the spec. \$\endgroup\$ Commented Oct 19, 2015 at 8:19

2 Answers 2



This is similar to updating the language after the actual question has been posted. It's simply no different.

To circumvent this loophole, maybe question askers should put the date at which it was posted in the sandbox and say that programming languages must not have features relevant to the question past the aforementioned date.

  • \$\begingroup\$ This has my vote. \$\endgroup\$ Commented Oct 18, 2015 at 17:37
  • 5
    \$\begingroup\$ +1, but I don't think posting a "sandboxed on" date is necessary. If it looks to good to be true, it will likely be found out anyway I think. \$\endgroup\$
    – Geobits
    Commented Oct 19, 2015 at 16:03

Yes, provided that it's general purpose and doesn't win.

Fixes for unintended behavior in an existing language past a sandbox post date are obviously OK, to address the point about bugs in the OP.

For languages entirely created after a sandbox post date, it depends on two things:

  • The language must be general purpose. That means, you should be able to use it to solve a wide range of other code challenges competitively (what I mean is that it should not be optimized for a single challenge). In most cases, it should also be Turing-complete. Ideally, the language should be specifically for a single tag (eg, a language with lots of string builtins for ).
  • Your submission in that language must not win. Otherwise, it's just unfair for the other challenge participants. If the implementation in your language happens to get the highest score for the challenge, don't post it and just wait for the next challenge within the language's scope. (Note that you should not intentionally leave your implementation ungolfed to submit it without winning. That defeats the purpose of this point.)

The original reason for the standard loophole is to prevent the case of "I invented a language XYZ that does this task in 0 bytes," and to be fair to others. As long as your language doesn't violate those things, I think it's fine.

  • \$\begingroup\$ I understand that this is an unpopular opinion, however if you disagree an explanatory comment might be helpful. \$\endgroup\$
    – DankMemes
    Commented Oct 19, 2015 at 5:47
  • 4
    \$\begingroup\$ I don't think many people could get behind a policy stating that the validity of a code golf answer depends on the other answers. \$\endgroup\$
    – feersum
    Commented Oct 19, 2015 at 7:25
  • 1
    \$\begingroup\$ I think you're asking too much by saying that languages should be TC and focussed on a specific tag. \$\endgroup\$ Commented Oct 19, 2015 at 8:21
  • 4
    \$\begingroup\$ The original question asks about creating a language tailored to the specific challenge (invented "to easily solve a [Sandboxed] challenge"). If I create a language for a specific challenge that doesn't win that challenge, I'm doing something wrong. So I think your answer boils down to "No." \$\endgroup\$
    – DLosc
    Commented Oct 19, 2015 at 17:17
  • \$\begingroup\$ We score for the purposes of determining a winner (in principle), so I think saying "Your answer is scored unless it's the winner" is effectively not scoring it at all. \$\endgroup\$ Commented Jan 10, 2018 at 4:40

You must log in to answer this question.

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