top | item 13234707

Why Rust ditched pure functions

61 points| zeronone | 9 years ago |mail.mozilla.org

4 comments

order

ngrilly|9 years ago

Very instructive read! Thanks for sharing.

LeanderK|9 years ago

I am not yet convinced, probably because the response is too short. Can somebody explain the problems with the effect system more detailed? "Eventually people just took to making everything io, at which point it was a noise word and we decided to remove it" this is not happening in haskell, is it the domain rust is used that just doesn't have that can't tolerate much purity?

simooooo|9 years ago

  "It shouldn't be too complex" is sadly optimistic, and your analogy is telling
What a burn.

maxcan|9 years ago

OP here, what I had in mind was simple propagation where only functions marked impure could call impure functions. While I maintain that in the abstract, one could design a language around that feature without incurring a huge amount of complexity, Graydon was right doing it bluntly with annotations is a very blunt tool and anything more granular would have been quite complicated. I never interpreted it as a burn, rather someone who knew far more about Rust educating an experienced Haskeller with essentially no direct Rust experience on some of their design decisions.