2
\$\begingroup\$

I've invented a new language called FunKiller, which is designed to make challenges trivial and boring. This is the JavaScript interpreter:

function interpret(s) {
  var lines = s.split("\n");
  var max = 0;
  var longestLine = ""
  lines.forEach(function(l) {
    if (l.length > max) {
      max = l.length;
      longestLine = l;
    }
  });
  i = prompt();
  eval(longestLine);
  alert(o);
}

As you can tell, it just finds the longest line in the file and eval's it. This means that I can trivially make any JS program radiation-hardened in this language:

alert(prompt()*2)

Becomes:

o=i*2


o=i*2

I certainly don't want this language to be used. Is this language valid for future challenges?

\$\endgroup\$
5
  • 2
    \$\begingroup\$ Maybe just don't create trivial golfing languages. Golf your code, not your languages. \$\endgroup\$
    – mbomb007
    Feb 14, 2017 at 14:34
  • \$\begingroup\$ @mbomb007 Dennis points out that there's a lot of precedents for golfing your language. \$\endgroup\$ Feb 16, 2017 at 15:56
  • \$\begingroup\$ None of those languages that he listed are so simple. This language is just JavaScript with a small feature added. The ones Dennis listed have their own syntax, and are completely unique. Imagine if I took Python, added one command, then called it a new language. That's shameful. \$\endgroup\$
    – mbomb007
    Feb 16, 2017 at 16:44
  • \$\begingroup\$ @mbomb007 This is definitely closer to Bubblegum than Pyth. I would also like to remind you to be nice and not shame people for asking honest questions. \$\endgroup\$ Mar 2, 2017 at 14:40
  • \$\begingroup\$ I didn't shame anyone for asking, I'm saying it's shameful to golf a language by adding a small set of commands. The OP even said "I certainly don't want this language to be used.", so they even understand some of that. \$\endgroup\$
    – mbomb007
    Mar 2, 2017 at 15:06

1 Answer 1

5
\$\begingroup\$

Is this language valid for future challenges?

Yes, the language became eligible to moment you published an interpreter.

But that's not a problem. challenges are fun, but we do not need a whole bunch of them. The best challenges of this kind are innovative; they introduce a new concept or use one that has been recently introduced. For example, we have more than enough "make a quine that does X" challenges. Some offer a challenge, others just require trivial modifications of your language's payload-capable quine.

What I'm getting at is that challenge writers should try to come up with a spin of radiation-hardening rather than plain radiation-hardening. A FunKillerKiller, if you will. The tiniest change would make FunKiller useless for the challenge, as detecting the longest line would not be enough anymore.

\$\endgroup\$
3
  • \$\begingroup\$ The point I'm trying to make here is that it's easy to trivialize these types of questions with a new language. On the other hand, that's true for code-golf as well (as long as the language was posted after the challenge)... I'd say that it's easier to create languages specifically designed for radiation-hardening than it is to create languages specifically designed for code-golf. Hmm... I think I'm arguing with myself now :P \$\endgroup\$ Feb 14, 2017 at 5:00
  • 3
    \$\begingroup\$ There's Oasis for recursive integer sequences, Retina for pattern matching, Snail and Grime for 2D pattern matching, Bubblegum for generic Kolmogorov complexity and a handful of allround golfing languages (Jelly, 05AB1E, Pyth, etc.) for code golf in general. Those aren't issues because they still have to deal with variety. The problem here is the extremely narrow scope of radiation-hardening. \$\endgroup\$
    – Dennis
    Feb 14, 2017 at 5:04
  • 1
    \$\begingroup\$ "The problem here is the extremely narrow scope of radiation-hardening." – most radiation-hardening programs only talk about byte deletions in order to make them possible, but it's possible to imagine other sorts of hardening challenges that can potentially be solvable. If a class of challenges is trivialised by a language, it's probably making incorrect assumptions; FunKiller wouldn't help in the linked challenge at all. Incidentally, it seems as though designing an optimal language for deletion-hardening might be fun in its own right. \$\endgroup\$
    – user62131
    Feb 14, 2017 at 6:02

You must log in to answer this question.

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