I am currently developing a golfing language for a specific type of task. I was hoping to use some command line flags for different options in the language. Since the language is intended to be a golfing language I thought I would try to make these additional flags as cheap as possible.
The first idea I had was to make a -r
flag that is required to run all programs so that adding additional flags would cost only one additional byte, as per the meta-consensus (in this question):
[Extra command line flags are counted] as a difference in character count to the shortest equivalent invocation without them.
Reading this rule I had another idea. I maintain the -r
flag but make it redundant when other flags are present (e.g. -a
is the same as -ra
). That way the first flag is free.
However you can go even further, you can require an option
--thisisareallylongflagnamerequiredforstandardexecutionbutredundantwhenotherflagsarepresentitexistsentirelytosavebytesinaddingnewcommandlineargumentsbecausethemetarulesonprogrammingpuzzlesandcodegolfstackexchangewerenotdesignedtohandlesuchedgecasesmakingreallylongstandardflagsveryadvantageousforgolfing
and require it to run programs normally but consider it redundant when other flags are preset. This would be the current reading of the rules allow you to use pretty much every command line flag you want for free, for a more strict reading of the rules it would even allow for negative scores in code-golf. I could make it so that programs can be embedded in the command line arguments thus making a language that can obstensibly solve every challenge on ppcg in zero (or less bytes).
Surely this is not what was intended by the rules. What should we do to prevent this type of shenanigan?
-r
, then it is evidently not a required flag, and thus should be counted in all cases where it is used. \$\endgroup\$