I recently asked What is the name of the functional argument in fold which is now marked off-topic because it might be opinion based. I do not understand what makes this opinion based. This question looks similar to me: Is there a name for web applications that do most of the navigation on the client side? It does not appear to be held as opinion based.

Which differences make the first question “opinion based” and the second not?


For what it's worth, I voted to reopen. I don't think questions should be evaluated on the asker knowing if there's a single canonical answer a priori. If most standard libraries you're aware of call it either f or op, say so. If the answer is, "there isn't any convention so choose whatever you want," then let that be the answer. Don't close the question. The possibility was even left open by saying "if any."

I suppose the convention being different in different libraries made people say it is a matter of opinion, but the difference is, the asker wasn't asking for an opinion. He had no way of knowing there wasn't some official term for it in lambda calculus. Asking for an opinion is off topic. Asking for a fact and finding out the answer is a matter of opinion is not off topic.

Also, I see questions all the time where someone answers "there is no such thing" and someone else comes right behind them with the correct answer. No one has an exhaustive knowledge of all things computer science, so just because you personally don't know the term doesn't necessarily mean the term doesn't exist. Unless you happen to be someone like Don Syme or Martin Odersky, in which case whatever name you make up off the top of your head immediately becomes official.

  • what would you suggest us to do with low quality answers, "I call it this" / "I heard it called that"? – gnat Dec 17 '13 at 7:57
  • 7
    What do you do with any low quality answers? Downvote/edit/flag – Karl Bielefeldt Dec 17 '13 at 8:05
  • 1
    flags don't work (I tested that, you may try it, too if you wish). Edit? How on earth am I supposed to edit "I heard it called that"? As for downvotes, per my experience, naming game questions are typically popular so every piece of crap gets a fair share of sympathy upvotes - making poster believe they did it right, what effect do you expect of downvotes there? – gnat Dec 17 '13 at 8:07
  • 1
    @KarlBielefeldt This is a very good argumentation! – user40989 Dec 17 '13 at 9:17
  • 3
    @gnat, if they don't work, it's because at least some mods and other users disagree with you. That's how the site is designed. – Karl Bielefeldt Dec 17 '13 at 15:39
  • @KarlBielefeldt so what? I asked what you suggest us to do with low quality answers – gnat Dec 17 '13 at 17:04
  • 2
    Voting to reopen that question is a waste of time. It's a lost cause, irrespective of whatever close reason was chosen. – Robert Harvey Dec 17 '13 at 23:30
  • 3
    @gnat Do you ever notice that it's the same gang of about 5-10 people that close, flag, downvote, etc. half the questions on this site? Do you ever think about how intimidating this is for people who are trying to use the site? If so many of the site's questions are stymied like that by the community as a whole, because the community believes they violate their rules and quality standards, that's one thing. But when it's the same 5-10 people over and over and over, nit-picking over every tiny little detail, trying to hold people accountable for others' actions, etc., something's wrong. – Panzercrisis Dec 23 '13 at 14:41
  • 2
    There is a place for moderation, but what’s happening on this site is not moderation; it’s harassment. You’re sometimes even going after questions that have nothing wrong with them! If everybody automatically knew everything and were absolutely perfect, they wouldn’t even have to ask questions, now would they? Questions build the site. The site depends on them. But people are having to be scared to ask anything on here, even when it meets the community’s standards. – Panzercrisis Dec 23 '13 at 14:42
  • StackExchange has higher standards than some, but what a few individuals are doing here is something completely different. You and your friends can set your own standards as impossibly and unfairly high as you wish, but if you run everybody else off this site but about 5-10 people, there will be no P.SE to bully people with. – Panzercrisis Dec 23 '13 at 14:42
  • 3
    @Panzercrisis - I'd suggest some additional reading about the site. Start here: meta.programmers.stackexchange.com/questions/5654/… – user53019 Dec 23 '13 at 14:58
  • 1
    @Panzercrisis If you feel that you are being harassed, I recommend you take that up with a mod immediately. We may demand high quality content, but our intention is never for anyone to feel harassed and that should be addressed. – Ampt Dec 23 '13 at 15:00
  • 1
    @KarlBielefeldt I'll certainly admit that my judgement is not always the best. What would be most useful is to get more people participating in the close vote reviews before it becomes an issue that requires it to escalate to meta. By selecting leave open or editing to head off off topic questions before they get closed one can possibly avert much drama. I strongly believe that getting more people to participate in /review leads to a stronger community that has more feeling of responsibility for the quality of questions. – user40980 Dec 23 '13 at 15:16
  • 1
    @Ampt Click around Meta for a while, and be sure to look at who closes questions as well. A small handful of users have been controlling this site for a long time, and it's done nothing but go downhill since that started. There've been a few small exoduses when it gets especially bad, and often of the type of user we would want to keep around. – Izkata Dec 24 '13 at 4:37
  • 1
    @Izkata Harassment is a much more serious allegation than a small group of users directing a site through high levels of activity. – Ampt Dec 25 '13 at 1:30

Terminology questions are not generally off topic, as evidenced by a tag of its own. To find out whether a question is a good fit for the stackexchange model, we have to ask ourselves whether this question has a single, objective answer.

With your question, this is not the case (but it isn't your fault). The fold has been known by many names: fold, reduce. inject, aggregate, …. An answer could provide a name for the functional argument, but this name might not be known in other traditions that don't call it fold. Therefore, an answer (that doesn't provide an answer for each of the different naming traditions) cannot be universally correct, and two answers that provide the correct answer for one of these traditions each would be equally correct, so there wouldn't be a clear candidate to accept. In short, this question is opinion-based.

There is also the small issue that (even within one such naming tradition) no universal name of the functional argument exists (which itself is a pretty clear name). When mathematically describing or implementing a reduce function, I would simply call the argument f, which is not satisfactory here.

The other question was answerable. It knew that a term had to exist. The asker tried to research this, and listed examples and possible terms, along with explanations why those terms do not sufficiently describe his concept. It showed that prior research on the asker's part had taken place (unlike your question where it was only clarified in the comments that this isn't quoted from an exam you are taking).

  • 2
    Thank you for your very clear and precise answer. I am however still a bit puzzled. AFAI closing a question advertises “not searching at the right place!” because SX wants to focus on some kind of questions. While the question turns out not to have a unique positive answer one cannot rule this possibility out just by examining it and there is a clear negative answer “there is no such a thing.” Anyway, the reason why that question might be regarded as opinion based is convolved enough for leaving an explanation note, we are here far from “What is the best computer language?” – user40989 Dec 16 '13 at 12:05
  • fold and its ilk do have a specific name: higher-order functions. Just like fractions have numerators, it seems that higher-order functions should have foo as (one of) their arguments. – Izkata Dec 20 '13 at 1:59
  • The presence of a tag does not, in and of itself, demonstrate topicality. – Robert Harvey Aug 16 '17 at 0:31

Unfortunately, it's hard to tell ahead of time whether a "what is the name of that thing" question is going to be definitively answerable. Without a specific term that clearly applies, any answer is indeed going to be opinion-based.

Since I keep losing this golden bit of text, I'm just going to put it here:

This question appears to be off-topic because it is a "name that thing" question. "Name that thing" questions are bad questions for the same reasons that "identify this obscure TV show, film or book by its characters or story" are bad questions: you can't Google them, they aren't practical in any way, they don't help anyone else, and allowing them opens the door for the asking of other types of marginal questions. See http://blog.stackoverflow.com/2012/02/lets-play-the-guessing-game

  • Higher-order functions can take a subset of all functions as their arguments. It is completely reasonable to ask what procedural parameters are called. – Izkata Dec 20 '13 at 2:49
  • 2
    It doesn't make much sense to ask what the name of something is that you already know the name of. – Robert Harvey Dec 20 '13 at 5:47
  • Well, he doesn't. I was pointing out that yes, this does have a well-defined name, and that question is answerable. – Izkata Dec 20 '13 at 12:32
  • Don't know if you saw this meta question (and answer) yet: meta.programmers.stackexchange.com/q/6353/53019 – user53019 Dec 23 '13 at 14:54

It should be reopened.

fold, map, filter, and their ilk are known as higher-order functions:

In mathematics and computer science, a higher-order function (also functional form, functional or functor) is a function that does at least one of the following:

 * takes one or more functions as an input
 * outputs a function

All other functions are first-order functions. In mathematics higher-order functions are also known as operators or functionals. The derivative in calculus is a common example, since it maps a function to another function.

The functional argument to these is known as a procedural parameter:

In computing, a procedural parameter is a parameter of a procedure that is itself a procedure.

This concept is an extremely powerful and versatile programming tool, because it allows programmers to modify certain steps of a library procedure in arbitrarily complicated ways, without having to understand or modify the code of that procedure.

  • 2
    In perl, the "function" argument to map is called "block" perldoc.perl.org/functions/map.html these questions often depend on the nomenclature of the language. There isn't necessarily consistency between languages or theory. – user40980 Dec 24 '13 at 3:45

You must log in to answer this question.

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