Kyowon.Client.Reflex currently forkIOs internally and uses channels. This is probably not necessary. The implementation of Kyowon.Client does not take-over the thread where it is started, instead it uses a callback interface. Kyowon.Client.Client constructors take a Recv (a -> IO ()) which it will call when messages are received from the server, and they return a send :: a -> IO() which applications can use to send messages to the server. The application continues to control the starting thread.
Kyowon.Client.Reflex
currentlyforkIO
s internally and uses channels. This is probably not necessary. The implementation ofKyowon.Client
does not take-over the thread where it is started, instead it uses a callback interface.Kyowon.Client.Client
constructors take aRecv (a -> IO ())
which it will call when messages are received from the server, and they return asend :: a -> IO()
which applications can use to send messages to the server. The application continues to control the starting thread.