| Well, why would it be taken as a given that programming should mimic the hardware? Pure functions are easier to reason about (there may be exceptions of course), that's why they're interesting. This paper is not related to side-effects - it's related to "totality", meaning all programs terminate. This could also be interesting for side-effecting programs, but it's of course much harder to verify in this case. Due to the halting problem's existance a total language can not be Turing complete, but many useful programs can be verified. I didn't see anything in the paper that claims that pure functions should be "all the way down", and the paper is not about side effects anyway. |
Because that’s the environment that programs are run on, doing anything else is fighting against the environment. I would argue that humans have done this to great effect in some areas, but not in programming.
>Pure functions are easier to reason about (there may be exceptions of course), that's why they're interesting.
Prove it.