f-o-a-m / kepler

A Haskell framework that facilitates writing ABCI applications
https://kepler.dev
Apache License 2.0
34 stars 9 forks source link

make main conduit run in IO #21

Closed martyall closed 5 years ago

martyall commented 5 years ago

Right now we have type App m = ..., and this m leaks everywhere even though we're never using it. Instead, we should require the run function to take a natural transformation forall a. m a ~> IO a and apply that in the one place we are running that application. Change all the types needed so that this conduit runs in IO to prevent needless abstraction but also it will probably be faster.