News for hackers. Stuff that matters.
Re:Learning Haskell is no harder than learning any other pro... by yakshaving_jgt on Sunday October 06, 2019 @07:32AM (#21171359)
I’m sorry if immutability is a new concept to you, but you can read from one state, and write to a new state.

There you go. No mutation!

Re:Learning Haskell is no harder than learning any other pro... by ukj on Sunday October 06, 2019 @07:50AM (#21171441)
Writing state is the definition of mutation.

It's what all data storage systems do.

An immutable data store sounds pretty useless.

https://en.wikipedia.org/wiki/Persistence_%28computer_scienc...

Re:Learning Haskell is no harder than learning any other pro... by yakshaving_jgt on Sunday October 06, 2019 @07:57AM (#21171478)
It’s fine for you to think that. That’s not going to stop other people from finding these concepts useful though.

Once again, you are free to ignore the things you don’t understand. Your trolling is mostly harmless.

Re:Learning Haskell is no harder than learning any other pro... by ukj on Sunday October 06, 2019 @08:02AM (#21171502)
>you are free to ignore the things you don’t understand

Is that why you are ignoring the complexity behind persistence/mutability/state?

Even the Abstract Turing machine has ticker tape you know...

Re:Learning Haskell is no harder than learning any other pro... by wlib on Sunday October 06, 2019 @12:42PM (#21173093)
Interesting point. Lambda calc is equivalent, where the expression can be seen as equivalent to the ticker tape. So when a reduction occurs in lambda calculus, it's just like a group of symbols being interpreted and overwritten. But the thing is, no one has to overwrite the symbols to "reduce" them. It's just a space (memory) optimization. Usually to calculate something (you're fully correct by the way) we do overwrite symbols. The point of using immutable style is simply to make sure that references don't become overwritten. It sucks to have x+2=8 and x+2=-35.4 within the same scope, right? Especially when the code that overwrote x was in a separate file in an edge case condition you didn't consider.