I’m doing a poor job explaining why, but it makes all the difference in the world. This can be seen in arrowized FRP too.
Conversation
Yeah, I really, really don't see why this frees me caring about from isolating effects. But I'm interested!
1
In arrowized FRP the effects are encoded in the types; the transformations themselves are still pure.
1
Signal transformations _are_ pure. It’d be great if we had a type system capable of encoding effects.
1
1
In the arrowized FRP, the effects are performed by outside functions (e.g. runState). In your model, they're interior.
1
I disagree. The leaves perform the side effects embedded within the signals. Signal transformations are not effectful.
1
What about that embedding-animation example you sent me?
1
The effect is performed by the binding. Nothing happens when that signal is created/transformed.
1
OK. I maintain that the view controller you've written is harder to test for having mixed such bindings with pure transforms.
1
Maybe we differ on the importance of testing. I think of testing just as a means to the end of correctness.
3
Replying to
Yeah, agreed. It's just always been strongly correlated with structural clarity for me. Maybe that's where I'm wrong here.

