transient
transient copied to clipboard
A full stack, reactive architecture for general purpose programming. Algebraic and monadically composable primitives for concurrency, parallelism, event handling, transactions, multithreading, Web, a...
``` Building library for transient-0.7.0.0.. [1 of 8] Compiling Transient.Internals ( src/Transient/Internals.hs, dist/build/Transient/Internals.o, dist/build/Transient/Internals.dyn_o ) src/Transient/Internals.hs:363:10: error: Not in scope: type constructor or class ‘MonadPlus’ | 363 | instance MonadPlus...
Currently, before you can use callService/callService' to call services on other nodes, you must use connection, listen or initNode established some connection state. This restrict should be removed because callService/callService'...
We're working on porting libp2p to haskell under (github.com/MatrixAI). But I'm very intrigued by your project here. While libp2p is just a sort of communication system (although a very sophisticated...
I would suggest the following: 1) Move `keep, option, input` to a separate module, say `Transient.ConsoleIO`. We can possibly call the new module `Transient.Input` if there are more input methods...
Since we create threads quite often it may be helpful to use raw fork instead of `forkIO`. Something like this: ```haskell -- A version of forkIO that does not include...
With the current design of the logging primitives, it is possible to easily run into inconsistent behavior. For example: ```haskell main = keep $ restore $ do r
There are two versions of state management primitives, ending with `Data` and ending with `State`, it creates unnecessary confusion. It is better to not have redundancy at all, therefore we...
I am by far the least qualified person to review your work, but I find it relentlessly fascinating. I want your work to gain more traction, but I think that...