Recent submissions

Comment · 6 years ago
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.

Comment · 6 years ago
>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.

Comment · 6 years ago
>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.

Comment · 6 years ago
>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.

Comment · 6 years ago
Why not make the languages that are easy to use speedy? That way I don't have to search for one or the other.
Comment · 6 years ago
Comment · 6 years ago
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.

Comment · 6 years ago
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.

Comment · 6 years ago
>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.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton