No it's not that. Even in posts where I just state logical reasons for disagreement I get voted down in this thread.
People vote down what they disagree with, if they agreed with me, most peoples' biases would usually find my attitude appropriate.
If I said something like logically I feel a certain race is inferior genetically. People will vote that statement down purely out of disagreement and misinterpret it as an emotionally charged statement and illogical.
It's just a statement with no logic behind it. It's dead pan with nothing. You can't even find erroneous logic with it because the logic wasn't even spelled out. You can only technically disagree with the statement. But people will subconsciously add all sorts of embellishment.
That's how people work. Maybe Nimish didn't vote me down, but they certainly aren't voting me down because I'm crossing some sort of line. They're voting me down because they disagree. That's the majority of it.
You'll find that more than anything the majority of what I write are just dead pan responses with like 5% of the sentences being "expressive." In fact a great number of stuff that I write that gets voted down is just dead pan responses with zero "expressiveness."
It's because people can't tell the difference between someone disagreeing with them and an actual attack. That's human nature. We all think we're above it, but basically none of us are. You'll find that even you are like this.
The reason why I get voted down is because my opinions tend to be different than most people. So people interpret this disagreement as an attack.
I've been here for over 10. I've had accounts with lots of karma generated by simply agreeing with everything I read or just commenting with useless side suggestions. T
I've experimented a lot. Without changing tone just disagreeing with a popular opinion is all that you need to get voted down. I've even experimented with emotionally charged impolite popular opinions. People will vote you up just because they agree.
If I wanted a shitload of karma. I know how to get it. Removing one or two of the more "expressive" sentences above will in my experience not do much for a thread that is very very biasedly supporting FP. FP is great, I prefer it but most people cannot maintain such neutrality for their favorite paradigm. Or favorite anything for that matter.
Not to mention if you recall a while back someone posted a GPT-3 AI generated story that got voted to the front page. Most commenters didn't realize it was AI generated. A select few were able to figure it out and they posted comments that were vehemently voted down for not being in agreement with the general sentiment. HN is a technical crowd but they are not above common mob behavior.
Scroll down to the picture. The person stated facts but his facts were misinterpreted to be attacks and he was told to be civil by someone who thought of himself as level headed. The reality is that the levelheaded person is as biased as one can get.
You think you're helping me. You think I'm putting up stubborn resistance to your help. Is that the case or am I just simply describing to you some of the insight I've gotten from messing around with HN for over a decade? Did I in fact put up stubborn resistance or am I just conversing with you and stating a disagreement? Hard to say.
Your immediate assumptions are no different than the "levelheaded" dude from earlier. Let's just be clear, I'm fully aware of the "expressive" areas in my posts.
You will also note that many of the posters assumed I'm attacking FP and that I don't have much experience with FP. All wrong assumptions. I have lots of experience and I prefer FP over other paradigms. I am simply stating that I disagree with the fact that algebra is the future of programming and can replace all imperative programming.
You've been here for over 10 years, under various accounts, but you don't know that people can't downvote direct replies? Not quite sure I believe that.
>but you're talking about that as though it were an inherently flawed or invalid approach,
This is just your bias. I never said this. I feel some people worship a paradigm so much that they see everything as an attack. FP is great however it is not a one size fits all solution. There are limitations. This is literally what I said.
>Mathematicians have no trouble modeling change. There are many ways to do so. Some are algebraic, some are not. There is nothing wrong with modelling mutability using immutable structures: that is how you probably think about history, after all.
You can model change with purity but the program in the end actually has to conduct the change without the modelling. The application has to eventually perform real world actions and the purity of your program cannot protect you from potentials pitfalls of imperative style errors/mistakes.
You have a database. The purity of haskell does not remove the necessity of mutating data in that database.
What you can do is segregate dealing with mutation/IO to a framework or external service. This is what haskell does, but you see this is just shifting the problem to somewhere else. Someone somewhere still had to deal with the issue of mutation. Modelling mutation with purity does not eliminate the problem it only moves the problem to another location.
Segregation of mutation/IO into a framework is a good thing. It makes it so that the problem can be solved one time, rather then a problem solved many times. However the main point of my post is to say that "math" or "algebra" is not a one size fits all solution. You cannot model everything this way, moving the problem into a framework does not make the problem disappear. Someone still had to use imperative primitives to deal with the issue. Think about the complexity of a SQL database.
You said FP "breaks down" when handling mutability, and you attributed that to some vague sense in which "mathematics" is the cause of it.
I have no bias for FP. I just don't understand what you're getting at.
>the purity of haskell does not remove the necessity of mutating data in that database.
That's great, because the purity of Haskell does not inhibit mutability. It just constrains it to lie within some mutable context.
>Modelling mutation with purity does not eliminate the problem it only moves the problem to another location.
Location? What is a location? It's like you're saying you can't truly add 3 + 3, because someone still has to add 1s under the hood. It's just a different model of the same problem.
Honestly, it sounds to me like you've never used the language, and your criticisms come off a bit like standing on an aircraft carrier shouting about how iron boats will never float.
>That's great, because the purity of Haskell does not inhibit mutability. It just constrains it to lie within some mutable context.
Haskell does inhibit mutability within your haskell program. Your haskell program does not mutate. What it does is it that it does IO operations and the mutations happen externally. It can also model mutation without doing actual mutation but in the end there's no point in a program modelling mutation if the program can't actually do mutation or IO.
>Location? What is a location? It's like you're saying you can't truly add 3 + 3, because someone still has to add 1s under the hood. It's just a different model of the same problem.
Location meaning outside of haskell. Like your database. I'm saying within haskell you have a variable.
x = 3
You can never mutate that variable in haskell. However you can mutate the state of the console without ever mutating any state within haskell.
print "hello"
The above triggers no mutation in haskell. A runtime outside of the haskell universe analyzes the IO instructions and mutates the console. What I am saying is that the thing that mutates the console has to do mutation. Whoever wrote that thing HAS to write imperative primitives. They are moving the imperative nature of programming INTO a framework. They are not eliminating the problem.
This is the same thing as a database string. UPDATE. You are moving all the imperative errors that have to deal with threading and mutations to the database. But your haskell sql string is still pure.
Again my argument is just saying that this thing that is doing the UPDATE or mutating the console cannot be built using haskell style code or immutable algebraic concepts. Imperative primitives need to exist and someone needs to use those primitives to do the actual mutations.
The OP is basically saying algebra is the future and it can replace everything. I'm saying it CAN'T.
>Honestly, it sounds to me like you've never used the language, and your criticisms come off a bit like standing on an aircraft carrier shouting about how iron boats will never float.
And honestly you sound like the guy standing on the iron boat. The person I'm shouting at is you, but you're just dismissing me.
>You're just trolling at this point. Please reconsider your confidence in this material, because you are egregiously mistaken.
Why the heck would I run such a long expose and troll you and be mistaken at the same time.
>How does this Haskell program write to stdout if it doesn't mutate memory?
Let's not be stupid here. Every program on the face of the earth must mutate memory because that's how computers work. Assembly instructions mutate things. We're not even talking about that. We're talking about application level programming where we only deal with primitives that the application programmer is aware about. I am saying that at the application level within the category of Hask nothing is mutated.
In your example tell me what haskell primitive.... What variable or data was mutated within haskell? That is what I'm referring to.
Try to implement IO or ST in another lang using only purely functional primitives. Use your algebra to make it work. You'll find it's impossible. What this means is that imperative primitives must exist for any programming to work.
>Then it doesn't work. Every Haskell program does nothing, because mutation of program state does not occur.
Obviously I'm operating on a certain layer of abstraction here. In X = 6, X is obviously immutable in haskell. A runtime is obviously executing your haskell program and mutating the console but your haskell code itself is pure. But you know this. It's quite obvious you're the one that's trolling.
>What variable or data was mutated within haskell?
The stdout buffer.
Just because mutation isn't explicit doesn't mean it isn't there. Programming languages are not syntax devoid of meaning: they have semantics. What happens at runtime is part of what a programming language does. (Arguably, that is the most important part of what they do.)
>What this means is that imperative primitives must exist for any programming to work.
That's completely untrue. Imperative languages can be implemented as a subset of functional ones[1] and vice versa. Again, they're just different models. No language can do anything if it isn't implemented in a machine. A machine isn't "imperative"[2], it's a pile of atoms that do what atoms do, without paradigm or instruction. You absolutely could implement a pure functional assembly language. The reason nobody has, is because it doesn't matter: any Turing complete language can be used to implement any other language[3].
Try to implement `volatile` in C without using another language. Does that mean C fails to model real hardware? No, because it has `volatile` to get volatile semantics! Just like Haskell has IO to get I/O side-effects. Or ST to get mutation semantics.
> Use your algebra to make it work. You'll find it's impossible.
Don't assert it, Prove it. Show me one computable function that cannot be computed using boolean algebra.
The stdout buffer is not part of the haskell language, it is part of the OS. The haskell runtime reads the haskell language and accesses the buffer. Neither the runtime or the buffer is part of the haskell language, get it? That's why haskell is called "pure" Category Hask: https://wiki.haskell.org/Hask#:~:text=Hask%20is%20the%20cate....
>Just because mutation isn't explicit doesn't mean it isn't there.
So? I never said it wasn't there. I'm basically saying as far as the programmer is concerned when operating within the haskell language no haskell language primitive is mutating. stdout buffer is not a haskell primitive... it is an OS primitive.
>That's completely untrue. Imperative languages can be implemented as a subset of functional ones[1] and vice versa.
This is true theoretically, but physically but you can't actually build a functional machine. Lisp isn't actually a functional language and you'll see from the instruction primitives that the lisp machine is more or less a turing machine that mutates memory.
>No language can do anything if it isn't implemented in a machine.
So? Never said this wasn't true.
>A machine isn't "imperative"[2], it's a pile of atoms that do what atoms do, without paradigm or instruction.
The machine you build is limited by what you build it with. You have a limited set of atoms. Therefore you can only build a machine with limited amount of state. In order to use the state efficiently the state must be mutable. Mutable state means imperative instructions. You can imitate functional programming with such a machine and you can sort of solve the memory problem with garbage collection. But with what paradigm do you implement the garbage collector? Imperative primitives.
> The reason nobody has, is because it doesn't matter: any Turing complete language can be used to implement any other language[3].
No the real reason is also because it's physically impossible. A physical translation of a actual lambda machine cannot be realized. What they can make is register based machine that are more efficient at compiling certain functional languages that's it. All machines we build have some sort of state that changes.
>Don't assert it, Prove it. Show me one computable function that cannot be computed using boolean algebra.
Sure I can prove what I said. But you're changing the problem from IO and ST to a computable function which I assume is algebraic. So of course all of algebra can be used to create all algebraic functions. I'll just prove what I said rather than what you changed it to.
Assuming mutation is an axiomatic operation that cannot be built from immutable operations, you will see that no mutation operation exists in algebra indicating that mutation cannot ever exist in any theorem of algebra:
You will see that no algebraic operation involving mutation exists in the above document.
>Try to implement `volatile` in C without using another language. Does that mean C fails to model real hardware? No, because it has `volatile` to get volatile semantics! Just like Haskell has IO to get I/O side-effects. Or ST to get mutation semantics.
No but I can implement volatile with imperative primitives from other languages. All I am saying is you cannot implement ST and IO with functional primitives.
Personal attacks are against site rules on HN. You are clearly across the line here. Moderators ban people for repeated violations, so if you want to continue here, you should stop posting abuse.
You can do better, then. Read nendroids latest reply to me, and help them understand that it's the "use of statements" that makes a language imperative, not the "modification of state."
I won't be responding, and they seem to think they're quite the expert in this sort of thing.
"In computer science, imperative programming is a programming paradigm that uses statements that change a program's state."
The above quote is ripped straight out of wikipedia's definition of imperative programming showing that what I said wasn't a misunderstanding but an official definition.
The definition of imperative programming must include mutation otherwise it's isomorphic to functional programming. Because functional programming is simply statements without mutation.
Case in point, This guy turned what was just fact checking into something personal. See, it's not about being civil. That's just the way people like to think they are. The reality is most people can't accept being wrong and they can't accept opinions they disagree with and the irony is everyone believes they're above this base behavior.
"In computer science, imperative programming is a programming paradigm that uses statements that change a program's state."
You will see from the quotation above. The very act of changing state is an imperative style by definition. The purpose of mutable state is for it to change. So mutable state = imperative instructions.
>You don't have to listen to me, but you should seek out a second opinion from a competent person who can get through to you.
I'll throw that advice back at you. But you don't need to find that person. I'm right here in front of you telling you how it is.
>Everything I said in my last post is basic, well-understood computing knowledge. If you want me to disagree with it, you need to find yourself a competent computer scientist to aid you in framing your ideas in a way that is comprehensible with respect to the subject matter.
Yeah but you didn't account for the practical parts of computing. The theoretical parts often deal with machines that can't be realized in reality. It's pretty much common sense. How do you represent a function call without mutable state? How can you have a machine do an algebraic operation without mutable state? The very act of holding that information in state requires a state change meaning to even load a lambda machine with a program requires an imperative instruction.
We're also in a corner of computer science that isn't formally well defined. A language can be formally defined as pure but there's no formal theory for systems design and how the system overall influences the content of a pure SQL string in Haskell.
I define a haskell sql string to have syntactically correct SQL. The external requirements of my database are forcing me to define a string this way, is that a side effect? There's no formal rules in literature so it's just raw talking points... you won't be able to find an official source stating who's right or who's wrong.
And it's also possible China is completely in the wrong. I'm not even advocating for an even sided situation, I'm advocating understanding the situation first before throwing an accusation.
What we do know is this... we have people on the inside of Hong Kong and we know that in Hong Kong China is not conducting mass genocide or opening up re-education camps in Hong Kong. This is different from what's happening with the Uighurs... we need to know what prompted China to react much more heavily against the Uighurs (as opposed to Hong Kong) and we also need to confirm whether the alleged "genocide" is real.
The post that was called disgusting is indeed a valid alternative viewpoint quite possibly from someone closer to the situation than your average white guy.
Also keep the outrage in check. Even a modern western country in 2020 is capable of this crap. The US has their own detention camps open today. It exists using a technique called extraordinary rendition to get around American laws. The camp is called gitmo and there are some real pictures about some really horrible shit that went down at gitmo.
> I'm advocating understanding the situation first before throwing an accusation.
"We don't know what's going on" is a lie. We know. Some people chose to ignore / justify. You are sadly in good company when it comes to the history of denying genocide.
> "We don't know what's going on" is a lie. We know.
I'm not lying, but I could be mistaken. I'm not mistaken about the rape of nanking or the holocaust. There are pictures of mass slaughter, graves and even severed heads on the pikes of japanese soldiers to confirm the depravity and existence of these events. My own grandfather witnessed the events and tells me first hand accounts of the rivers of blood in nanking. The japanese denial is sickening, and you accusing me, a descendent of victims of such slaughter, as someone who denies genocide displays incredible immaturity.
I am not denying genocide, I am simply saying extreme accusations need extreme evidence. So your next task is clear:
Show me pictures of the same slaughter that you claim the chinese are doing right now. I promise you I will do a full 180 if you show me some actual pictures of the massacre that you claim is happening right at this very moment. Show me some dead bodies, executions... etc.. etc.
> Show me pictures of the same slaughter that you claim the chinese are doing right now.
You are the one setting the bar at "mass slaughter". Sorry, that wasn't and isn't what is being discussed. Mass interment, violence, rape, retaliation against one's family for political crimes, forced sterilization, etc. The evidence for that is legion, you have access to the same information I do. Look it up yourself (if you care).
Mass Slaughter and genocide are the same thing. You claim I'm denying genocide, so the according to you I'm actually setting the bar LOWER then mass slaughter.
These are your words:
>You are sadly in good company when it comes to the history of denying genocide.
So now you're claiming we aren't even talking about genocide? That there is no mass slaughter? Seems to me ur changing the subject.
Oh. I see. It's an english language problem. Someone doesn't know an english word and is misusing it all over the place. Look up the definition of the word genocide:
Look, mass sterilization is bad. But genocide? Under that logic anyone who ever got an abortion is a killer. Or maybe anyone who wanted to have a baby but changed their mind...
Colloquially when people use the word genocide they use it in place of mass slaughter, that is the intuition behind the word and that's how people use it. If you use the word genocide in place of mass sterilization, you and the organization who decides to use/define the word in that way are manipulating the perspective of the situation because Everyone is well aware of the intuitive meaning of the word "genocide". When people hear "genocide" they hear "slaughter" and "killing"... mass sterilization is the last thing they think about.
Here's a thought. Rather than use the word "genocide" why don't you just say "mass sterilization." Don't throw down a word that can be mistaken for slaughter for your own manipulative gain. You could have easily, very easily clarified your intent earlier, but you didn't because you are manipulative, or you don't know common colloquial English.
I vote that you're just being manipulative. The rest of your English grammar seems fine, you just want to start something rather than be level headed.
You're massively out of line with "Someone doesn't know an english word and is misusing it all over the place." and "I vote that you're just being manipulative. The rest of your English grammar seems fine, you just want to start something rather than be level headed."
Guys don't be stupid. Colloquially we all associate genocide with killings, the oxford definition captures this fact. We all know it, you can look up the formal term but when someone utters the word genocide the last thing they think about is sterilization. They think killings. We all know this by common sense. You guys are using technicalities to further an argument for no reason.
In addition to this the technical terms are all different so it's not like I've been proven wrong. My oxford definition actually incorporates the word "killing" so we can argue about technicalities till forever or we can not be stupid and admit that when people hear or use the word "genocide" they think about "killings" "murder" and mass "slaughter"
Under the other definitions basically an abortion clinic becomes a genocide clinic. We don't associate abortion clinics with genocide... nothing is out of line here At all.
You guys can cite the UN definition of genocide but nobody uses that definition in the english language, it's really too big a of an essay for someone to hold in their head. Realistically when you see the word in an article or uttered by a person it's using the oxford definition which is the exact context we're in right now.
> Colloquially we all associate genocide with killings, the oxford definition captures this fact.
No, we don't, and the Merriam-Webster definition [0] captures this fact: “the deliberate and systematic destruction of a racial, political, or cultural group”.
As does the Britannica [1] definition: “the deliberate and systematic destruction of a group of people because of their ethnicity, nationality, religion, or race.”
While killing the individual members of a group is a common mechanism of genocide, the killing the “-cide” in the term refers to is the killing or destruction of the group as a group, not the killing of the individuals who constitute the group.
>I'm not American so the US-China rivalry comment is not relevant to me. If my family was killed by a bombing attack I would want to get to the bottom of why it happened in the first place without just blaming an entire population and justifying their genocide.
When someone bombs your family you take the time to find out why they were bombed and try to understand the otherside before shutting down the otherside.
But when someone voices their own opinion. You just call their opinion disgusting and accuse them of genocide.
The man is obviously not supporting genocide. If the chinese are supporting genocide than the man obviously doesn't know but an accusation of genocide needs extreme proof and right now there's only rumors.
Maybe what's really going on is you're selectively applying your empathy to whatever suits your preconceived viewpoint.
>When someone bombs your family you take the time to find out why they were bombed and try to understand the otherside before shutting down the otherside.
I didn't say I would try to understand the side that bombed my family. Those would be the terrorists. I said I would get to the bottom of what happened and why it happened. I would not condemn an entire people or a culture (unless of course every single one of them believed the same thing as the terrorists) to seek some sort of sick justice. Please don't invent things I didn't say.
>The man is obviously not supporting genocide. If the chinese are supporting genocide than the man obviously doesn't know but an accusation of genocide needs extreme proof and right now there's only rumors.
It's not rumours. There is genuine proof. My own government declared it as genocide after investigation (Canada).
>But when someone voices their own opinion. You just call their opinion disgusting and accuse them of genocide.
My comment was directed at the Chinese govt and whoever supports them (obviously knowingly). I didn't call his opinion disgusting. Please learn to comprehend at a level above that of the sixth grade.
>Maybe what's really going on is you're selectively applying your empathy to whatever suits your preconceived viewpoint.
Yeah and you are selectively applying your generosity in trying to understand those you disagree with to whatever suits your needs.
>I didn't say I would try to understand the side that bombed my family. Those would be the terrorists. I said I would get to the bottom of what happened and why it happened. I would not condemn an entire people or a culture (unless of course every single one of them believed the same thing as the terrorists) to seek some sort of sick justice. Please don't invent things I didn't say.
I didn't invent anything you said. I'm telling you what you should do.
>It's not rumours. There is genuine proof. My own government declared it as genocide after investigation (Canada).
Alright. Show me the pictures of the mass killings and the slaughter that's occurring in China. I want to see pictures of the executions and the graves. We have pictures that corroborate the events of Nanking and the holocaust show me the pictures of the genocide that's occurring in China.
>My comment was directed at the Chinese govt and whoever supports them (obviously knowingly). I didn't call his opinion disgusting. Please learn to comprehend at a level above that of the sixth grade.
This whole topic is about a comment calling the original topic disgusting. My comment is defending the original comment. You attacking me is agreeing with the premise. Stay on topic.
>Yeah and you are selectively applying your generosity in trying to understand those you disagree with to whatever suits your needs.
I'm not. Show me the pictures and proof of the "genocide" and I'll do a 180. I'll believe you.
>I'm not. Show me the pictures and proof of the "genocide" and I'll do a 180. I'll believe you.
>Alright. Show me the pictures of the mass killings and the slaughter that's occurring in China. I want to see pictures of the executions and the graves.
Again you've shown yourself to be no more mature than a sixth grader. First, educate yourself about definition of a genocide. It's not all "mass killings and graves" that you are lusting after. A genocide can be a systematic destruction of a people through incarceration, torture, humiliation, destruction of language, cultural practices etc. simply based on their race, culture, or religion. Same thing that's happening to Uighurs. Vox did an expose a couple months ago using satellite imagery to find hundreds of mass detention and slave labor facilities corroborated by statements from victims.
A genocide is systematic destruction of people through killing. That is the oxford official definition and that is the colloquial meaning of the term. When people hear the word they don't think torture, they don't think cultural assimilation, they don't think birth control.
They think slaughter.
Using the word genocide in the way you define it.... makes gitmo become a genocide camp. You're own civilized neighbor the US of A is also basically conducting genocide of middle easterners under your highly convenient definition.
But I don't need to tell you this. You know this already. You throw down that word with the full knowledge that whenever you use that word people will think mass killings. You only fall back on a convenient definition when someone calls you out on the technicality. This is what the articles you read do to manipulate the sentiment, and you accept it because you enjoy calling China a country that is conducting mass genocide. You enjoy perpetuating China with a reputation that is an extreme version of the truth. This is what's going on.
I would tell you to educate yourself but the mind is not only limited by what it is capable of learning but also by genetics. Your limitations are of the latter kind, there is nothing for you to learn because you are already aware of what you're doing.
There's nothing left to argue on the main topic because we both never disagreed that detention camps exist. We can argue about the definition of the word "genocide" and about how your misguided brain works though, I'm sure there's still a disagreement on those two areas.
With regards to Gitmo, you are again purposefully lying. There are plenty of arabs and muslims living in USA with no problems. We have comedians (Hasan Minaj) making fun of Trump. Which Chinese, let along uighur, can make fun of Xi in China?
Now since we both agreed that the detention camps exist, and also the women of that group are being sterilized against their will, it meets criteria b, and d of the Genocide under the UN charter.
As for my genes, they're full capable of learning and not limited by brainwashing as you have been subjected to. Sorry for you and the rest of the CCP shills.
No it's not. First off he's not advocating genocide and second off you need proof that genocide is happening before you can make such a serious accusation.
You're telling me that a holocaust level genocide is happening in China right now? Serious accusations require serious evidence. Prove it. Something like pictures of mass graves like the ones you've seen in the holocaust or the rape of nanking is sufficient for me to do a complete 180.
What's going on here is mob mentality and you're part of it.
Genocide is a very serious accusation. The word is thrown around in this thread in a trivial way as if you can accuse anyone of advocating it. Let me spell it out for you: Pretty much no one advocates this. You're coming at him saying "I never said it was at holocaust levels" as if that makes a huge difference. This is mass human slaughter we're talking about.
He described it with the word "Holocaust" for two reasons. To detrivialize the usage of the word and because I've seen numbers being thrown around as if millions of people were exterminated.
>"concentration camps are bad but.." No but. There's no but there.
There is indeed a but. The US put the japanese in concentration camps in the past. This does not raise them to the same position as Hitler gassing the jews.
>I am going off first hand accounts and confirmed facts. What are you doing?
Confirmed facts of genocide? Show me some pictures. Show some proof. The seriousness of the accusation demands serious evidence.
>Reducing this to a "two sides" issue is shameless deflection. What part of the dozens of reporting done on Xinjiang do you think is false, and what facts are you basing that on?
He's reducing the issue to an "all sides" issue. Insulting an alternative view point is reducing it to a "one side" issue.
Let's keep things utterly clear here. It is completely wrong to build internment camps. Completely. But it is also completely and utterly wrong to silence another view point and accuse someone of genocide.
You don't solve an issue by attacking the people who created the internment camps without understanding the situation which caused them deploy such drastic procedures in the first place.
> Let me spell it out for you: Pretty much no one advocates this.
Oh I'm well aware (almost) no one will come out explicitly and endorse concentration camps. What they do is almost more insidious, they justify them. They rationalize them. They spin them as something they are not.
I'd rather someone be an open Nazi than to perform their mental gymnastics in public to avoid challenging their world view on something as simple as "mass interment camps are bad." "Well you see they aren't interment camps...they were criminals anyways...how dare you compare a work camp to a death camp?"
It's sickening, all of it. Your spin of "it's not the same as the holocaust" (no one said it is) and "yeah but whatabout the US!" is sadly par for the course.
The US put japanese people in in concentration camps and most US citizens supported it. Does this put most US citizens on par with Nazis who gassed and experimented on Jewish people? No. It does not. Americans did it out of fear, not out of evil.
There is a huge difference here. When you say genocide, it is equivalent to holocaust. When you say concentration camp it's equivalent to gitmo at worst or the japanese concentration camps. Both could be happening but one is drastically worse than the other and genocide needs confirmation.
> Your spin of "it's not the same as the holocaust" (no one said it is) and "yeah but whatabout the US!" is sadly par for the course.
> The US put japanese people in in concentration camps and most US citizens supported it.
Amazing, your lack of self-awareness. Your deflection and whataboutism can't even let up for a second. In case you need yet another reminder, this thread is about Chinese camps.
> There is a huge difference here. When you say genocide, it is equivalent to holocaust
You are saying this. You. You are pushing the argument to the extreme ("everything is a holocaust") to discredit what is actually being said ("these are mass interment camps with systemic violence and arbitrary punishment"). It's an argumentation technique that doesn't work when the other person knows what's happening.
What's going on here is you're misusing the word genocide. See the comment in the other thread.
Genocide is mass killings, not mass sterilizations. If you get very technical you can call a sterilization a killing but that's just a deliberate misuse of the term.
When someone hears the word genocide they hear slaughter. They don't hear oh that population was sterilized. Let's not be stupid about this.
Functional programs tend to be more modular than imperative or OOP counter parts but nobody really knows why nor do they understand the cases where FP becomes less modular.
FP is only modular when you use combinators. If you use closures then it's no longer modular.
f x y = x + y
g y = y * 2
w x = (f x) . g
g and f are combinators and modular and w is the composition of both of those combinators.
w = \x -> (\y -> (x + y) * 2)
In this case the above is not modular because it doesn't use combinators. The above style is actually kind of promoted by haskell when you need to do things with side effects. It actually makes FP more complex than it needs to be without improving modularity.
Both examples have multiple functions defined as the definition of w.
But in one example f and g can be reused in other contexts, in the other example the two functions are tied together by free variables. Haskell heavily promotes the latter style with do notation. Any function written in the first style is decomposable into component combinators, any function written in the latter style cannot be decomposed.
Curious, yeah this is interesting. The powers gained to quell the terrorism seem to be getting used to fulfill ulterior motives, not to different from the presidential powers gained after 9/11. Seems to be a common phenomenon.
Do you have a source where I can start reading more about this stuff?
People vote down what they disagree with, if they agreed with me, most peoples' biases would usually find my attitude appropriate.
If I said something like logically I feel a certain race is inferior genetically. People will vote that statement down purely out of disagreement and misinterpret it as an emotionally charged statement and illogical.
It's just a statement with no logic behind it. It's dead pan with nothing. You can't even find erroneous logic with it because the logic wasn't even spelled out. You can only technically disagree with the statement. But people will subconsciously add all sorts of embellishment.
That's how people work. Maybe Nimish didn't vote me down, but they certainly aren't voting me down because I'm crossing some sort of line. They're voting me down because they disagree. That's the majority of it.
You'll find that more than anything the majority of what I write are just dead pan responses with like 5% of the sentences being "expressive." In fact a great number of stuff that I write that gets voted down is just dead pan responses with zero "expressiveness."
It's because people can't tell the difference between someone disagreeing with them and an actual attack. That's human nature. We all think we're above it, but basically none of us are. You'll find that even you are like this.
The reason why I get voted down is because my opinions tend to be different than most people. So people interpret this disagreement as an attack.