I've also started with ClientMonad but I didn't actually use it for my app as it's easier to work with just two TChans, see tidalClient :: TChan Message -> TChan Message -> IO ()
The monad is not as elegant as it could be I think, if someone wants to pick that up feel free to!
I don't have that much time currently to move this forward rapidly so dumping my progress to get some feedback / let others know what I'm up to.
I use Nix files for development, but they will come in handy for the stand-alone variant started by @yaxu at #13 - it is possible to wrap the binary with correct
GHC_PACKAGE_PATH
so it "just works" - see https://github.com/Haskell-Things/implicitpipe/blob/master/default.nixI've also started with
ClientMonad
but I didn't actually use it for my app as it's easier to work with just twoTChans
, seetidalClient :: TChan Message -> TChan Message -> IO ()
The monad is not as elegant as it could be I think, if someone wants to pick that up feel free to!