I've noticed that 20 questions are tagged [function]. Looking at the questions themselves, they don't seem to have anything drastically different from other questions.

The tag wiki reads:

For challenges that ask for a function or involve functions in some way. (Also known as methods or subroutines.)

Doesn't programming involve functions (nearly) all the time? I think the situation is the same as the one with [algorithm] - the tag is far too generic and could be applied to almost any question, because any question can be solved with a function, and most questions allow functions as answers anyway. It is more useful to use tags that refer to specific types of function (e.g. ).

Should we burninate ?

  • 2
    \$\begingroup\$ I could see the use of the tag for challenges which are specifically about functional programming or where you need to handle functions, but I don't think it should be used for challenges where its sole purpose is to indicate that the challenge asks for a function (instead of a full program). (In that case functions might be a better name though.) I think it's also very valid on the tips question from yesterday. \$\endgroup\$ Commented Oct 22, 2014 at 15:14

2 Answers 2


No, we don't need the tag. It is not very useful, and it looks like a meta tag to me, and those tags should be removed.


From this point on, meta-tagging is explicitly discouraged.

How can you tell you’re using a meta-tag? It’s easier than you might think.

If the tag can’t work as the only tag on a question, it’s probably a meta-tag. Every tag you use should be able to work, more or less, as the only tag on a question. Meta-tags, like [beginner], [subjective], and [best-practices], are useless by themselves — they tell you nothing at all about the content of the question.

Of course, many tags would not work as only tag here on PPCG because we always need a winning criterion, but if we would ignore that, would still be useless as the only tag on a question, so I'd say we don't need it.


I did the usual: have a look at all the challenges.

I agree that using the tag for challenges which request a function (instead of a program) is useless. And this is how most challenges used the tag.

But there is a valid use case for having such a tag: for all challenges that actual deal with functions (as objects), e.g. challenges about higher-order functions or which are otherwise related to functional programming or s relating to functions. This is no different from the or tags.

So far, there are two challenges like this (with the tag):

Additionally, it's a good tag to have for tips questions about functions in particular. There is one of those so far:

We should keep a tag for these cases, but I wouldn't be opposed to making a new one called instead (note the plural). Otherwise, I suggest that we rewrite the tag wiki and excerpt for tag, to clarify that it should not be used, just because the challenge asks for a function - and then remove the tag from the other 17 questions, and leave it on the three mentioned above.

As Peter mentioned, there's already a tag. We could either use that instead of (although the latter is probably a bit more general), or we could also subsume those four questions under a new tag. In any case, I'd rather not have both, because it will lead to no end of confusion about which tag to choose for some questions.

  • 3
    \$\begingroup\$ The fixed-point combinator one could be tagged functional-programming instead. That tag already exists and should be a bit less confusing. \$\endgroup\$ Commented Oct 22, 2014 at 17:51
  • \$\begingroup\$ @PeterTaylor Ah yeah, that was another thought I had, but I figured there might be some challenges which deal with functions but aren't a strictly about "function programming" as that, so I suggested a slightly more generic functions tag - and having both will probably lead to more confusion than anything else. \$\endgroup\$ Commented Oct 22, 2014 at 17:53
  • \$\begingroup\$ Does that mean that you also want to remove functional-programming? If so, you should probably edit the answer to mention it. \$\endgroup\$ Commented Oct 22, 2014 at 20:21
  • \$\begingroup\$ @PeterTaylor Possibly. I've clarified my position on that. \$\endgroup\$ Commented Oct 22, 2014 at 20:24