Derek Berner
06/04/2019, 3:05 PMDerek Berner
06/04/2019, 3:06 PMBob Glamm
06/04/2019, 3:06 PM_|_
Bob Glamm
06/04/2019, 3:07 PMBob Glamm
06/04/2019, 3:08 PMBob Glamm
06/04/2019, 3:09 PMDerek Berner
06/04/2019, 3:09 PMraulraja
06/04/2019, 3:09 PMraulraja
06/04/2019, 3:10 PMsimon.vergauwen
06/04/2019, 3:10 PMRef
Derek Berner
06/04/2019, 3:12 PMsimon.vergauwen
06/04/2019, 3:16 PMsimon.vergauwen
06/04/2019, 3:16 PMsuspend fun main(): Unit
~> fun main(): IO<Unit>
Derek Berner
06/04/2019, 3:24 PMsimon.vergauwen
06/04/2019, 3:26 PMIO<E, A>
will give you much better fine grained control over business errors and runtime stuff.Derek Berner
06/05/2019, 2:27 PMReaderT
is an action that requires some external dependency. And then local
is used to narrow down a larger context of dependencies into a specific one.Derek Berner
06/05/2019, 2:27 PMlocal
to compose those into an effect that requires bothDerek Berner
06/05/2019, 2:28 PMDerek Berner
06/05/2019, 2:28 PMBob Glamm
06/05/2019, 2:30 PMlocal
. I thought local
was a way to modify the external dependency before working with itDerek Berner
06/05/2019, 2:30 PMlocal
, but yeah, it's essentially a contravariant functorDerek Berner
06/05/2019, 4:25 PMpakoito
06/05/2019, 4:26 PMBob Glamm
06/05/2019, 4:43 PMMonadDefer<F>
for the transactional pieces and instantiate to IO
using unsafeRunSync
in the controllers. Is that reasonable or is there a better pattern to use?Bob Glamm
06/05/2019, 4:44 PMIO
but that isn't there yet as far as I'm aware)pakoito
06/05/2019, 6:49 PMAsync<F>
, and if you want parallelism you need Concurrent<F>
pakoito
06/05/2019, 6:49 PMsimon.vergauwen
06/05/2019, 6:58 PMIO
as a suspend function so you can also use the Spring coroutine support.raulraja
06/05/2019, 6:58 PMsimon.vergauwen
06/05/2019, 6:59 PMF
if you prefer polymorphic code :)