4
\$\begingroup\$

I imagine a form of challenge where users would create their own golfing language that would specialize in a given area (like string handling or ASCII-art) and write an interpreter. After the languages were created, challenges would be revealed and the language creators had to solve each challenge using their language. They could not modify their language after the challenges were revealed. The winner would be the user with the lowest total byte count on all their languages.

The problem with this type of challenge is: how do you stop people from creating a language that is just a trivial substitution of an existing one? For example, I could just change Jelly's encoding to ASCII (And use unprintable characters) and call it a new language. The only solution I can see to this problem is to have it be a , but that's not compatible with the original winning criterion (shortest total code for all the challenges).

Could these types of challenges exist? Are there any other potential problems with this type of challenge and how could they be fixed?

| |
\$\endgroup\$
  • 1
    \$\begingroup\$ language-design. "lowest total byte count" is problematic though because it's highly gameable (you'd need to set a number of problems to score the languages on, and the language could just include built-ins for those problems. That's why the two existing challenges are popcons (and they are probably my two favourite popcons on the entire site). I'm really hoping we'll one day find objective scoring criteria that lead to interesting languages. \$\endgroup\$ – Martin Ender Nov 24 '16 at 19:50
  • \$\begingroup\$ I think there would be a general topic that the languages had to specialize in, and after the languages were created the topics would be revealed. \$\endgroup\$ – Esolanging Fruit Nov 24 '16 at 19:51
  • 2
    \$\begingroup\$ Revealing test cases later is never ideal because it means you don't know how well your post will do at the time of posting, and (even worse) it permanently closes the challenge to further submissions at some point. \$\endgroup\$ – Martin Ender Nov 24 '16 at 19:53
  • 5
    \$\begingroup\$ This sounds a lot like something we already have, called Code Golf... \$\endgroup\$ – trichoplax Nov 24 '16 at 20:26
  • 1
    \$\begingroup\$ Sorry I didn't address the "how do you stop people from creating a language that is just a trivial substitution of an existing one?" Simple: by choosing a theme of challenge that no existing language excels at (or was designed for). Domain-specific languages will always be able to beat general-purpose languages (by pretty much any criterion you can come up with). This is exactly what we did for the 2D pattern matching challenge. \$\endgroup\$ – Martin Ender Nov 24 '16 at 20:30
  • \$\begingroup\$ @MartinEnder Your detailed comments look worthy of an answer. \$\endgroup\$ – xnor Nov 24 '16 at 21:14
  • \$\begingroup\$ @xnor Unfortunately, they don't offer a solution for the popcon problem. \$\endgroup\$ – Martin Ender Nov 24 '16 at 21:19
  • \$\begingroup\$ @MartinEnder As I understand, pop-con was suggested just to avoid the "trivial substitution problem", which you addressed. \$\endgroup\$ – xnor Nov 24 '16 at 21:27
  • \$\begingroup\$ @xnor No, I mean that I don't have any ideas for making a good language-design winning criterion that isn't a pop-con (which I'd really like to see). \$\endgroup\$ – Martin Ender Nov 24 '16 at 21:30
  • 1
    \$\begingroup\$ @trichoplax has a point. The general rules state that any language used for a contest must have been created prior to the posting of the contest. Basically, this whole site is a language challenge. \$\endgroup\$ – Emmett R. Nov 26 '16 at 18:35

Browse other questions tagged .