context: https://x.com/tomjaguarpaw/status/1917938120277872935
Let me share my understanding...
According to the definitions in the article, I think it's correct to say that there's little difference between referential transparency and purity, and thus there's not much need to use the word "pure" separately. However, at least in the discussions I've seen, the word "pure" is used in a different sense from the one defined in the article. As noted, the article doesn't define purity in terms of programs (i.e., code fragments) outside of functions.
To say that a program is pure means that it has no side effects. That is the definition of program purity as I understand it—and presumably the one that people are actually using. Side effects mean that a program changes the state of the external world, which refers to something outside the computation model officially defined by the Haskell language, or that it observes the state of the external world and alte