I had a question about a specific programming task I was trying to accomplish and attempted to ask a question about whether there existed a library/tool/framework to accomplish it, after previously searching Google and StackOverflow attempting to find one without luck:

Grammatical inference of regular expressions for given finite list of representative strings?

(Note, this was worded differently originally, and perhaps less well, I've attempted to improve the title since then and am open to suggestions to improving it further if necessary.)

This was closed, and after reading some meta questions, like the following, about similar situations I have some understanding of why:

Should there be a place to ask about programming libraries and technologies?

Can I no longer ask about what technology exists?

Basically, it seems like the argument is that this kind of question leads to a shopping list of subjective answers and/or that they betray a lack of research attempt by the asker, although I did try to research and my intention was merely to ask whether something existed at all (which was not easy to ascertain), not to invite subjective discussion about relative merits, so I'm not sure those arguments apply in this case.

So is there no place on the SE network that I can ask an objective question about the existence of a library/tool for a programming task where that existence is not easily discoverable otherwise?

In any case, as you might have seen from my linked question, after much searching I did luck upon finding two libraries that fit my criteria, after chasing after various search terms (note that neither library is easy to find with Google even after knowing exactly what terms are appropriate: just try...:D).

Also, I note that (after figuring out that "grammatical inference" was something I should search for), I found that this question had come up at least once before at Grammar inference library? and received no satisfactory answers (the OP asked for a grammatical inference library and received links to parser generators instead). In addition, searching for "grammar inference library" yields the previous SO question as the top link and links to the unavailable library mentioned by the previous asker as the next links; the two libraries I found are nowhere to be found. Furthermore, the original asker of the question was still interested in an answer six months after asking it, so obviously this is not a trivial thing to look for.

So, for the sake of anyone else facing a similar task as I had, I think the question has value and would hope to get it reopened so I can provide my own answer to it properly: is there any way I can reword or improve the question to do so, to avoid it seeming like a "shopping list" question, and/or have it moved to a more appropriate SE site?

EDIT: Ok, this is a bit frustrating that I have to ask myself rather than anyone being willing to offer any suggestions, but suppose the question were "Is it possible to do X with any language?" rather than "Is there a library that can do X for any language" and the answer to the previous happened to be "Yes, with library Y" (or even, within some realm of possibility, although strenuous in this case), "Yes, it's a built-in feature of language Z"? Would that make a difference, and why?

FINAL NOTE: For anyone needing help in a similar situation in the future, the TL;DR version of the solution is avoid using the word library.

  • 2
    I'm not aware of any good way to reword a shopping list question. That's like trying to make an actual shopping list not look like a list...
    – animuson StaffMod
    Mar 20, 2013 at 3:03
  • 3
    "It should be allowed because finding an answer otherwise is hard" is not a viable argument.
    – JJJ
    Mar 20, 2013 at 6:42
  • 1
    It doesn't have one factual answer. See meta.stackexchange.com/questions/158809/…
    – JJJ
    Mar 20, 2013 at 6:48
  • 1
    @Juhana the question is "does this exist?": that has exactly one factual answer; there's no list being solicited here. you're jumping to conclusions and throwing the baby out with the bathwater. Mar 20, 2013 at 6:49
  • 2
    @animuson Please address my update and whether an alternate wording would still qualify as a "shopping list" in your mind. Keep in mind, the original question was not asking for a list, but merely whether something existed; any presumption that such a list was being solicited seems to only be prejudice judgement. Mar 20, 2013 at 7:37
  • 1
    You don't explicitly have to ask for a list for your question to invite one. It's not so much about the questions you ask as it is about the answers youre likely to get.
    – Bart
    Mar 20, 2013 at 7:49
  • 1
    @Bart so you can't ask a factual question on the off chance more than two people would answer it but add more information in a different way? (i.e. "Yes, with Foo vs. "Yes, with Bar)? Doesn't that exclude pretty much any question? Mar 20, 2013 at 7:53
  • 3
    You can't ask recommendation questions, no. Which is essentially what library/tool questions are. If your practical programming problem turns out to have two different solutions, great.
    – Bart
    Mar 20, 2013 at 8:10
  • 1
    @Bart again, there is no recommendation or opinion being solicited. as per my edit, this is a practical programming problem that happens to have a solution involving a library (but didn't necessarily have to, that just seemed like the most logical possible solution so I mentioned it upfront): do I need to reword the question to make that clearer? Mar 20, 2013 at 8:31
  • 2
    @StephenLin Don't ask for existing tools or libraries. If you can phrase it like a practical programming problem (i.e. this is what I want to do, this is what I have, this is where I'm stuck) then you might have a perfectly valid question. And guess what; the answer to your question might well be a library recommendation. But focus on the practical problem to solve.
    – Bart
    Mar 20, 2013 at 8:34
  • 2
    @Bart and you're honestly saying I need to jump through hoops to avoid the suggestion that there might be an existing library to do something, and just hope that someone answers with a solution that may or may not involve one? I am sorry if I sound sarcastic, but it seems odd to avoid saying the word library just for appearances sake.... Mar 20, 2013 at 8:40
  • 2
    @Bart this is baby out with the bathwater territory, clearly, but fine. can you take a look at the question now and let me know what you think? please kindly vote to reopen if that's ok. Mar 20, 2013 at 8:51
  • 2
    @casperOne again, the answer was Yes, this exists, and it's called a DFA learning algorithm, which, given prior evidence, is a non-trivial answer. So is someone asked about a sorting algorithm for a particular task, no one can answer with a name of a sorting algorithm and a link to a fuller description without fully describing it themselves? Mar 20, 2013 at 16:47
  • 3
    @StephenLin Sorry that you're frustrated, really, but take it from the guys who have seen thousands of questions that the little change can make a world of difference. The first few answers (including your own) were proof that it was soliciting recommendations (whether you wanted it to or not). It's based on this experience that we make these decisions.
    – casperOne
    Mar 20, 2013 at 17:09
  • 2
    @casperOne I specifically asked for suggestions on rewording and it turned out to be trivial do so (and someone could have just said avoid using the word library honestly, if that's the effective policy). Mar 20, 2013 at 17:16

1 Answer 1


I would edit your question about as follows...


Drop the not-constructive cliche "Library for" and replace it with something like...

  • How do I do grammatical inference of regular expressions for given finite list of representative strings?


  1. Keep it from the beginning up to where it slips into not-constructive cliche
    "...it's somewhat painful to do this manually."

  2. Then, replace not-constructive cliche ("Is there any existent tool or library") with something like this:
    How do I take an arbitrary list of strings and try to infer some minimal (for some reasonable definition of minimal) spanning set of regular expressions that can be used to generate them (i.e. infer a regular grammar from a finite set of strings from the language generated by that grammar)?

  3. After that, proceed with your text
    from "Obviously, (depending on the definition of..." up to "...can be later checked by a human."

At the end of the question, I would rewrite yet another not-constructive cliche ("anyone know if there's such a tool") with something like this:

  • Options I considered so far are: either to make a reasonable attempt at writing something to do this myself, or looking for an appropriate library.

Generally, edit approach for above is based on what I learned in a similar discussion at Programmers meta: instead of resource / tool / book request, one would rather present an underlying problem - a problem that was intended to be solved with particular resource / tool / book requested.

  • thank you kindly for the suggestion, can you take a look at what the current edit looks like and let me know what you think? Mar 20, 2013 at 8:52
  • thank you kindly for your assistance, accepted Mar 20, 2013 at 9:33

You must log in to answer this question.

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