The Programming Language Quiz, Mark II
A repost of this challenge. Meta discussion. Body of the question similar to the original
[Tacky introduction]
The Cops' Challenge
The Cops in this Cops and Robbers challenge have to do two things:
- Choose a programming language. A valid programming language is one which meets all three of these criteria:
- It has either an English Wikipedia article, an esolangs article or a Rosetta Code article at the time this challenge was posted, or is on Try It Online!
- It must satisfy our rules on what constitutes a programming language
- It must have a free interpreter (as in beer)
- Write a program that outputs the numbers from 1 to 100, inclusive. You can either output as decimal integers or a bytecode values (
!
to represent 33 for instance)1. If using integers, you should output with a constant non-digit delimiter between each number.
You must not assume a REPL environment, existing boilerplate code, or non-standard compiler/interpreter flags. The program must be in the form of one or more source files (to rule out quirky languages like Folders) and must fit into your answer in full (so it must not be longer than 30,000 characters) - this shouldn't be an issue for any serious submission.
If your code contains bytes outside the printable ASCII range, please include a pastebin or hex dump to make sure your code is actually testable.
The program must terminate within 1 minute on a typical desktop PC.
That's it. However, as with everything, there is a catch. You should aim to obfuscate your program as much as possible, as the Robbers' task is to guess the language you used. You should also aim to make sure that your program only works in the intended language (although this is likely to be less of a problem than the Foo cracks in the original challenge)
Once 7 days have passed without anyone discovering any language where your program is a valid crack, you may reveal the language and mark it as safe
. Please note, your submission can still be cracked until you reveal the language.
You must not under any circumstances edit the source code of your submission once posted (as this may invalidate a robbers' active attempts at cracking your answer). So make sure that you golf it as well as you can (or dare) before posting. If you realise that your answer does not work after posting it, simply delete your answer and post a fixed version if you want to.
The shortest submission in bytes wins!
1: If you wish to output in a different way, please ask in the comments
Formatting
(Feel free to skip this section and read The Robbers' Challenge if you're not planning to participate as a cop right now.)
At the bottom of this post, you'll find a Stack Snippet which generates leaderboards as well as a list of submissions which can still be cracked. For the snippet to work, it is important that you include a certain header in your answer:
New answers should include a header like
# ???, [N] bytes
where
[N]
is the size of your code in bytes and???
should appear literally.If the answer is not cracked for 7 days and you want to make your answer safe by revealing the language, simply replace the
???
, e.g.# Ruby, [N] bytes
Feel free to have the language name link to a relevant website like an esolangs page or a GitHub repository. The link will then be displayed in the leaderboard.
If another user successfully cracked your submission (see below), please also add the language, along with a notice like
# Ruby, [N] bytes, cracked by [user]
where
[user]
is the name of the user who submitted the first valid crack. If the language used in the crack is different from the one you intended, I'd recommend using the robbers' guess and mentioning in the answer that you intended it to be something else. Feel free to make the user name a link to their profile page.
The Robbers' Challenge
- Find a vulnerable answer. That is an answer, which hasn't been cracked yet and which isn't safe yet.
- Crack it by figuring out its language. That is, find any language in which the given program is a valid program (subject to the rules outlined in The Cops' Challenge above). It doesn't matter if this is the language the cop intended.
Once you have found a working language, post an answer to the Robbers' thread and comment below the Cop's answer. If you don't have enough reputation to comment, say this in your answer and someone will comment for you.
Every user only gets one guess per answer. You must not crack your own answer (obviously...).
The user who cracked the largest number of answers wins the robbers' challenge. Ties are broken by the sum of bytes of cracked answers (more is better).
Meta
Well? Any feedback? Should this be one challenge or have a separate challenge for Cops and for the Robbers?