I've been studying FRP for several months since I bought Stephen and Anthony's book and discovered https://fsharpforfunandprofit.com and I still love it.
I believe the combination of F#, Sodium and agents (.NET TPL) is perfect for business applications and also for systems integration applications. (It's perfect for other things as well, but this is my field).
However, while everything works perfectly for me in Sodium world, I'm not yet satisfied with my results getting it interfaced with current tools and API. I've tried extending WPF components with Sodium inputs and outputs (like in SWidgets), but when you need more complex things like StackPanels and Grids, it's such a tedious work. The two worlds are just too different.
I can get nice results more quickly using traditional approach (object oriented, event based, MVC) using WPF and .NET C#. But I hate the 6 plagues of event based systems and I'm missing the great things I get in FRP "for free" and I'm missing F#, too.
So I tried the Fridgets approach instead. I used .NET Standard and SkiaSharp to be able to reuse code for Mac / Windows Desktop / UWA applications. But I'm not satisfied with the performance. This sample screen shot application doesn't do much things but gets quit unresponsible soon.I'll share details if you want to.
So my question is: Is there a way to separate logic within one process ? The way that I've had separate transactions and sending into the Stream or Cell in one part of application would not affect other part of application.
If anybody could share some thoughts, that would be great.