Re:Show HN: YinYang, a usable live programming language
by seanmcdirmid on Saturday October 19, 2013 @10:08PM
(#6578729)
You might want to check out Koka [1], which includes an effect system to separate pure and effectful computation. I believe there is also a demo of it online [2].
So state would be dealt with in a similar approach than the command pattern?
Sounds exciting.
I guess where I come from is the scare when a pure function gets littered with impurity much later on, and all we have to warn us is a unit test. No matter how big the comment is above the method, nothing stops a developer from sticking a global variable in it, and it's out the window.
This forces code reviews to be lengthy, etc. If on the other hand we had a @pure section and @everything_else section, I feel this would make things easier to reason about... We could also measure the % of pure vs non-pure code, as code quality. All of this in an object oriented language of course. I'm no fan of Haskell.