Random question. Is there anything stopping you from putting a function on a channel?
no
Next question. Anyone done anything cool with this concept? Feels like it could be great for reifying dynamic behaviour change.
Say like changing the behaviour of 30% of the system. Or gradual behaviour roll out change.
I've not seen anything. What would be the upside of that vs e.g. alter-var-root?
alter-var-root would change behaviour for everyone
What if I want to "deploy" a function to 20% of users, stuff like that?
could use 2 vars. 30% use one, 70% use the other.
yeah idk, maybe I'm not very imaginative. That sounds very difficult to keep track of what's going on.
Also how do I make that behaviour change orderly in a running system? Like not change the behaviour half way through processing an item.
It's more a thought exercise at this point.
There are erlang like "become" things you can do with it, but you have to be very disciplined to make that work well. The new flow stuff separates channel operations and state persistence from function logic which makes that sort of thing seem more viable.
I was just about to say it feels very Erlang. 100% see a lot of foot guns with it like you pointed out
you can put channels on channels, too
I heard you like channels...
yo dawg