Reactive Elixir?

I wonder, with recent movements in Java world into reactive world, it kinda got me that I don’t know anything about reactive support in Erlang/Elixir. So the question is, does Elixir provide it? I mean basically non-blocking data flows

Keep in mind that “non blocking” means something totally different in Java than Elixir. If you have a thread in Java and you do blocking IO that takes a long time, or a CPU computation that uses a lot of resources for a while, this will entire block any other progress on that thread. If the thread also serves HTTP requests for example, any other request on that thread is gonna just timeout.

In Elixir however activities all end up happening on their own processes, and these processes do not block one another at all. So in a sense a non blocking data flow is essentially every data flow. If you find it blocks your current process, just put it in another process.

Reactive has some other connotations as well though, but it might be worth elaborating a bit on what it is you’re looking for.

3 Likes

Do you mean reactive as in Rx?

If so, see

1 Like