The network request has been embedded in there, but who cares? It’s just a mechanism for converting the input to output.
Conversation
How is this unlike "I wrote a function which the button calls; it has a callback handler—don't worry about if it has effects"
1
That’s not declarative, and it’s not a transformation.
1
I can make it declarative with addTarget. I don't see why it being a transformation or not lets me stop caring about effects.
1
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.
2
1
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
Replying to
What about that embedding-animation example you sent me?
Replying to
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
Show replies

