Alloy is a lightweight formal specification language. Such languages are completely different in style and way of thinking than programming languages. We've been using SO to answer many questions.

However, the need arose to discuss & showcase larger models instead of code snippets that didn't work as expected. Code Review seemed very applicable so we decided to use this.

However, when we tried to use the Alloy tag, immediately people started policing it. Often in a way that made it clear they applied ideas of programming languages. For example, models are usually much smaller than a programming source. Other issue is that a model can be correct but still can have discussions about its behavior.

This way the people that I'd asked to put their model on codereview moved away, disgusted by the aggressive policing. Making me look bad for proposing it.

I understand that some moderation is necessary. However, also moderation needs to be done in moderation. Especially with a new tag it is necessary to allow a community to find its footings. Feedback is of course always welcome but some humility from the moderators would be welcome.

In this case, there is no trolling and people were seriously trying to use the codereview site. This way of moderating has chased away some good people now. And I do not think that that is the intention of this site.

So the basic question is, how do I oppose these moderators?

  • 2
    \$\begingroup\$ "Making me look bad for proposing it." For future reference, always always always test out a product before suggesting it to someone else. \$\endgroup\$
    – Peilonrayz Mod
    Jul 27, 2020 at 11:41
  • \$\begingroup\$ @Peilonrayz Why? If Code Review operated as SO and was more welcoming to new things this would've worked fine. Basically these first models were a test. Several people that witnessed this were very surprised and put off by the tone. I've never seen this tone in 10 years of SO moderating the OSGi topic so I was flabbergasted. \$\endgroup\$
    – user227732
    Jul 27, 2020 at 13:17
  • 2
    \$\begingroup\$ I think I've asked you this before, but who is "we" and do they have a platform somewhere? We don't intend to scare anyone away, but the scope of our site will not budge either. I'm sure we can figure something out that's best for all parties involved here. \$\endgroup\$
    – Mast Mod
    Jul 27, 2020 at 13:49
  • 1
    \$\begingroup\$ Perhaps Alloy needs its own SE sight, or perhaps the topic would be better on Software Engineering. I wouldn't try to get a UML review on Code Review, but I would on Software Engineering (I have). \$\endgroup\$
    – pacmaninbw Mod
    Jul 27, 2020 at 16:26

5 Answers 5


I think you're asking the wrong question. The actual question you should have been asking yourself before directing people here is:

"How can I introduce Alloy into this existing community?"

It's a reasonable assumption for this community's members to think that alloy has similar behaviour to a programming language, after all noone told them otherwise. Expecting community moderators on a "basically all languages allowed" forum to be familiar with all programming languages is an undue burden.

So if your programming language has a different behaviour than the languages that the existing community expects, there will be problems with the moderation.

That being said,

I agree that the usual rigorous moderation standards for programming languages on code review are comparatively hard on alloy questions. There is a good argument to be made that alloy is not a programming language in the "usual" sense, but rather a specification language. Other languages that fall into that category are OCL or Prolog.

That does not mean that alloy would be off-topic, just that "It does what I expect" is not as black and white as for imperative languages.

As such I'd consider questions that can demonstrate the specification correctly models the system that's being checked, but yield unexpected results when solving that model on topic. I don't presume to speak for the community here, though.

  • \$\begingroup\$ I guess all the close votes came from a source of ignorance... \$\endgroup\$
    – Peilonrayz Mod
    Jul 27, 2020 at 12:15
  • \$\begingroup\$ How can I introduce Alloy into this existing community? I'd not realised that Code Review was a tight-knit community in itself. To be honest, that still surprises me. My experience comes from SO where I see it is a lot of different communities that share a common commercial infrastructure. I would be highly surprised see a PHP developer policing a OSGi question. It is mostly live and let live. I think Code Review is eminently suitable for what we want to use it but a meta-community that is policing posts that are outside the moderator's expertise feels hostile; nobody gains with that. \$\endgroup\$
    – user227732
    Jul 27, 2020 at 13:12
  • 2
    \$\begingroup\$ @PeterKriens yea, that's mostly due to the vast difference in scale of the community. On Stack Overflow most tags have enough users to fully self-moderate. For Code Review the only tags that potentially have that scale are javascript, java, c#, c, c++ and python, and even then usually people that are "at home" in other tags help out to make moderation efforts responsive. That's why there is such a marked difference. \$\endgroup\$
    – Vogel612
    Jul 27, 2020 at 13:41
  • 3
    \$\begingroup\$ "but yield unexpected results when solving that model on topic" Why are unexpected results for all languages off-topic yet not for specification languages? Depending on how we explain what this means, it will either lead into the code being broken or the question (problem statement) being misunderstood (explanation of code). I'm simply trying to understand the language here so we know how to moderate it in the future. \$\endgroup\$
    – Mast Mod
    Jul 27, 2020 at 13:52
  • \$\begingroup\$ @Mast but why not let the Alloy community find its way? If you're interested, there is a book called Software Abstractions by Daniel Jackson that explains the theory and language. \$\endgroup\$
    – user227732
    Jul 28, 2020 at 9:04
  • 2
    \$\begingroup\$ @PeterKriens To what part of my comment is "but why not let the Alloy community find its way?" a response? Are you asking for an exception to the rules here? \$\endgroup\$
    – Mast Mod
    Jul 28, 2020 at 10:22

It's too late now, but in the future just post on Meta first.

  • Introducing Alloy as a new concept
  • Creating a debate/discussion on how you want to use the site.
  • Get a consensus as most moderators are active on meta
  • Even have a link in a comment to the meta discussion when things go wrong in a question

I believe Code Review has good moderation, but I'll also agree that some questions get downvoted too much which is a real (the biggest?) turn off for new visitors. My stomach turns when I see a new visitor get -3 on a question without any feedback.

  • \$\begingroup\$ I agree that I used the wrong way to get a new tag. However, I have the excuse that the the tag page did not provide a pointer to a protocol. I did look. In this case we did no only have down votes, we already have a post deleted before it could be worked upon. As said, the group is already turned away and I think codereview would have been an excellent match. \$\endgroup\$
    – user227732
    Jul 27, 2020 at 9:32
  • 3
    \$\begingroup\$ @PeterKriens even deleted posts can be edited, undeleted and reopened. Code Review and Alloy may be off to a bad start, but that doesn't mean it can't work :) \$\endgroup\$
    – Vogel612
    Jul 27, 2020 at 11:42
  • \$\begingroup\$ @Vogel612 :-) That is why I am still here arguing. My experience at SO has been fantastic so far. I guess it does help to have lots of credit there and I am a nobody here but I was very surprised at how I got treated. If not for the SO experience, I would have thrown the towel in the ring earlier .... \$\endgroup\$
    – user227732
    Jul 27, 2020 at 12:49
  • 1
    \$\begingroup\$ @PeterKriens Code Review is not Stack Overflow (SO) though, there are largely different communities at work. Please see our guide to Code Review for Stack Overflow users \$\endgroup\$
    – Mast Mod
    Jul 27, 2020 at 13:54

Why there has been "overly aggressive moderation"

You need to understand that the English section of the question is important. This is what makes or breaks most questions. I've 'moderated' thousands of questions on Code Review and needing to read a line of code is not normally required.

When closing the closed Alloy question reading any of the code was not required. Because the fault was in the English sections.

Low level issues

  • This spec creates very few connects, is that plausible?

    This goes against site policy. You should explain what the code does.

    Additionally a title like this is a massive signal that there are issues that you want us to fix.

    Modeling phone calls

  • I'm attempting exercise A.2.1 from the book http://alloytools.org/book.html.

    Explains what the code is doing. It's not inline with Stack Exchange and Code Review rules as links can rot and the question will become less useful (we won't know what it does) in the future.

    Include an explanation of what the code does. Or copy the exercise in a block quote.

  • Having got this far, I find that when stepping through instances I only ever get 2 connects links, no matter how many requests links, when using the MiniSat solver.

    Due to the wording this is describing a problem. You can reword it to become passive.

    When using MiniSat solver I normally get two connects with varying amounts of requests.

  • When using MiniSat plus Unsat core, I sometimes get more connects, but not many requests.

    To me this alone seems like a plain factual statement. Since this is following the previous sentence it is however getting a different spin.

  • Obviously, these all satisfy the model, but it feels wrong to me. Am I over-thinking this?

    This is where things get problematic. I find any question that asks a specific question like this is opening itself up to being closed.

    Since all Code Review questions have an implied "how would you improve my code?" I would suggest never asking a specific question unless you've become familiar with site rules.

Here is an example of the question without these issues.

Modelling phone calls

I am going through the book Software Abstractions and have completed exercise A.2.1.

<insert exercise description>

When using MiniSat solver I normally get two connects with varying amounts of requests.
When using MiniSat plus Unsat core, I sometimes get more connects, but not many requests.

<insert code>

High level issue

My above suggested question would probably not fly with SteveF. This is as it has removed what I believe the core of the question is actually about. The focus of the question wasn't "how can I improve my code".

SteveF was instead was asking either:

  1. How can I get more connects and requests with my following code?
  2. Is it common to not get complex instances from Alloy?

Neither of these are on-topic on Code Review.

How can Alloy get the best out of Code Review?

Be careful with the English part of the question.

  • Include a description of what the code does. (normally the challenge description)
  • Don't ask specific questions.
  • Follow a less is more approach to the English part of questions. Less text so it's more likely to be be on-topic.

Instead post questions like this one. If SteveF posted a description of the challenge, as Sᴀᴍ Onᴇᴌᴀ requested, then the only moderation it would need is an upvote.


As the offending party, I've found this whole exercise to be a huge time sink, for little potential benefit. It feels like everything I do manages to offend someone. It also feels like this is not a suitable platform for a small community that is doing something out of the mainstream.

My inclination is to delete everything and start again (possibly elsewhere), but I can't even do that. Could someone with more authority do that for me?


Ok guys. I am out ...

I an 62 years old, 44 years writing software, have helped tens of thousands of people over the years. But I've luckily never seen this type of aggressive moderation before. Maybe because I've got authority on SO that I do not see this aggressive policing but it is a very ugly sight.

As far as I know StackExchange is a commercial site that provides an infrastructure to different groups so they can sell ads. The impression I am getting here is that I ended up in what feels like a cult. It puzzles me to no end why some self appointed guardians are so controlling while lacking any experience nor affinity with the tag at hand? What is the cost to them to let this tag find its way?

If you plant a flower it is vulnerable for some time. If you don't recognize it when it pops up the first bud, you let it grow a bit more. If people are watering it, let them handle it. After all, a tag outside your interest does not do anybody any harm.

If, after a a year it turns out to be abandoned weed, get rid of it. No harm done.



You must log in to answer this question.