Consumers of the signal interface don’t know or care whether it’s impure, because the effects have been isolated already.
Conversation
I definitely care whether the VM's subscription is pure for the same reason I care if a function I'm calling is pure.
1
I’m not sure what “subscription” you’re referring. Signals are usually activated (directly or indirectly) by the view.
2
What I mean is: if I send an event to this signal, are effects going to happen?
1
Why are you sending events? That should be represented as a stream of inputs.
1
When your whole program is a signal network, you don’t think about whether “this specific signal” does stuff.
2
1
1
OK. I really, really don't understand what you're saying, but I'm willing to believe that's because I haven't made such a pgm
1
1
Here’s an example. A button that should fetch some data from a service and display it in a label on-screen.
1
If you look at it holistically, the new label value is an output, transformed from the input which is a button press.
1
The network request has been embedded in there, but who cares? It’s just a mechanism for converting the input to output.
1
Replying to
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"
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
Show replies

