Circle is being censored from the C++ Reddit
twitter.com
twitter.com
The original post was misleading: https://www.reddit.com/r/cpp/comments/yqjrwx/c_type_erasure_...
Circle Lang is a superset of C++. It isn't C++. Maybe you should frame the post as a feature proposal instead of showing something that C++ can't do, and claiming it as C++. If this isn't your post, then I apologize for the assumption.
EDIT: Looks like someone's done this already and the post is happy: https://www.reddit.com/r/cpp/comments/yriwxr/potential_c_ext...
"Removed for being off-topic" would imply that no other posts about the language would be accepted - it is understandable that this caused a bit of anger in the author.
"Removed for having a misleading title" would imply that only the misleading title is offending - and that other posts would be accepted, as long as they didn't have a misleading title. I'm sure if the mod explicitly said this, it wouldn't cause this much of a reaction.
If they need the publicity so badly, going on a rant like this doesn’t seem helpful.
This is invite only, so unless the author knows another user it won't be much help. I have visited the site for years without, to my knowledge, knowing another user who can invite me.
It is odd to see how lobste.rs grew of out discontent with the way HN was moderated but ended up falling into that trap itself. The way a site is moderated is a decisive factor for the couleur locale or 'culture' of the place. While I have my grumblings about HN moderation - or, more specifically, about the use of down-votes for expressing disagreement - this site is not as hostile to those who do not follow the narrative as lobste.rs is - or was, I have not been there for a long time so things could have changed.
Of course it does, it is in mod's interest to have "reasonable cause" in case things like this end up public.
However, there is nothing of sorts even mentioned in the /r/cpp rules:
1. Question/Help
Questions and help posts are off-topic for this subreddit. Use r/cpp_questions or StackOverflow instead.
2. Off-topic
[empty]
The author also posted a counter-example of a Val post that was up, even though it is as much "off-topic" as Circle, based on the mod's argument: https://www.reddit.com/r/cpp/comments/ypawe2/the_val_object_...Searching further, there seem to be even more not-quite-C++ posts hanging around not getting removed:
https://www.reddit.com/r/cpp/comments/xgcbt9/cppfront_herb_s...
https://www.reddit.com/r/cpp/comments/r27dea/i_wrote_a_simpl...
https://www.reddit.com/r/cpp/comments/ug90nz/a_ruststyle_bor...
Based on those facts, I find it fairly plausible that the mod is doing it in bad faith. But Reddit is especially notorius for its mods' powertripping and lack of accountability, so it's nothing new in my book.
But also sympathize with the guy. Getting stopped from posting something that you've spent a good deal of time and effort building surely feels bad.
OP's post, on the other hand, is blatant promotion of their personal programming language, and I'm not sure why they think it would be allowed on /r/cpp
It's not a whole new language, it's a C++ compiler with extensions. Going by that logic, sharing GNU C++ compiler on /r/cpp should also be banned, which is absurd if you ask me.
Regardless, lack of explicit rules makes it very easy for abuse. Who decides what is "off-topic" and what is not? Mods. And without clear rules, I find it hard to believe that they, themselves, have a completely objective view on such issues.
I'm not implying that the mod necessarily is malicious, I'm just pointing out why there's a reasonable doubt that they just as well might be.
So we can safely throw out any arguments about it not being a language. Promoting another programming language is about as off-topic as it gets.
> Circle is a new C++20 compiler. It's written from scratch and designed for easy extension.
Is GNU C++ also a different programming language from C++, just for having extensions? If yes, should it also be banned from discussion on /r/cpp?
Regardless, this discussion is actually irrelevant. I later found out (and linked to here: https://news.ycombinator.com/item?id=33548314) that Circle isn't even regularly ""censored"" on /r/cpp.
Although, for the record, I would be ok if the mods removed all Circle-related posts on /r/cpp for the reasons I stated above, but no point in discussing that as it isn't even what's happening.
In reality, this was a single post with a misleading title, but Circle's author is apparently desperately looking for any opportunity to play the victim.
Third, the main catalyst for this entire discussion is the title. Someone posted your tweet with the title "C++ type erasure aka traits object", which is misleading as it's not about C++. People reported it, a moderator looked at it, and removed the post.
So the mod didn't communicate the reasons for removal properly. It wasn't removed for being off-topic, it was removed for having a misleading title.> In reality, this was a single post with a misleading title, but Circle's author is apparently desperately looking for any opportunity to play the victim.
The mod's at fault here, 100%, for communicating wrong information. I'd react the same if I was told that my C++ compiler is "off topic" in a place created for discussion of C++, where various other dialects and extensions to C++ are also discussed on a regular basis.
---
Replying to previous arguments for completeness:
> I assume you think that when the website stopped calling it a programming language that it turned into just a compiler?
No, I think that what someone calls it doesn't make any difference on what it is. If you call it a Java compiler, it doesn't magically become a Java compiler.
Each compiler de-facto defines its own "language" - the set of strings it accepts as valid input. The question is just whether or not the set of strings Circle accepts can be called C++ if it has extensions. My argument is that there isn't a clear distinction - but it is a C++ compiler, since it accepts C++. The same way GNU C++ compiler is a C++ compiler since it accepts C++, regardless of various GNU extensions that it also accepts. It is a dishonest take to call it a "completely different language", since that would imply that it has nothing to do with C++ - when it actually has plenty.
That said, I think there's some nuance between GCC's extensions and Circle's extensions.
GCC extensions are like "return the minimum of two numbers" (https://web.mit.edu/rhel-doc/3/rhel-gcc-en-3/c---extensions....), while Circle's extensions are more like "reflection in C++" (https://github.com/seanbaxter/circle/blob/master/reflection/...). GCC works with the existing C++ community and standards committees, while Circle's extensions are just the author implementing whatever random features they want.
We can disagree about exactly where the line is when Circle diverges enough from C++ it deserves to be called a separate language rather than just a compiler extension. And maybe you think it hasn't crossed that line yet while I do, but I don't think it's fair to claim it 100% cannot be a different language just because GCC has extensions.
The mod used the term "off-topic" - even your explanation states that the removal has nothing to do with the tweet and reddit post title being off-topic, but rather about being misleading. I assume the implications of "off-topic" (implications being that everything related to Circle is off-topic and therefore will be deleted) were what caused the author's reaction.
> GCC works with the existing C++ community and standards committees
Note that it wasn't always the case. Even with the C compiler, GNU extensions used to be non-standard, until GCC got popular enough for the committee to start caring. Many GNU extensions to C became standard C - but back in the day, they weren't C. Taxonomy of languages is an inherently unclear area with many shades of gray, both with natural and programming languages.
> I don't think it's fair to claim it 100% cannot be a different language just because GCC has extensions
True, Circle provides significantly more extensions to C++ than GCC.
I guess my point is that, in context of the /r/cpp, it's not that off-topic, the same way as discussing Groovy on a Java subreddit would probably not be off-topic - even though Groovy defines a huge number of extensions to the Java language, it's still a derivative of Java and has a lot to do with Java. I simply disagree with that level of puritanism on subreddits.