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

This is why Haskell (ST) and Clojure (transients) provide local mutable state in the form of "linear types" where it is impossible to read a mutable value outside of tightly controlled conditions.

As Guy Steele wrote, "Lambda, the ultimate imperative"



I'm not sure I would call ST a linear type to any significant degree. It's only very slightly such a type.


The quotes were the part where I was bluffing. :-/




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

Search: