Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Of course you can have only immutable data, you just need suitable monads.


There's disagreement about what exactly makes you a systems programmer, but dealing with the reality that memory is finite is definitely a requirement.

You need mutation or garbage collection (and systems programming is the kind of environment where that's not just "someone else's problem").


Plenty of languages have immutable data without monads or even being statically typed. Clojure is a fine example. And there is also the somewhat popular https://immutable-js.com/ that brings the benefits of immutable data to JavaScript.


By that argument, all programming is immutable, with monads only used to update the mutable parts.

The point of this article is to detail needs for those monads to interact in a concurrent manner.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: