pakoito
02/14/2019, 6:22 PMPaolo Gavočanov
02/14/2019, 6:27 PMPaolo Gavočanov
02/14/2019, 6:28 PMPaolo Gavočanov
02/14/2019, 6:28 PMPaolo Gavočanov
02/14/2019, 6:30 PMobject ImmutableKV : FunctionK<ForKVStore, ForState> {
override fun <A> invoke(fa: Kind<ForKVStore, A>): Kind<ForState, A> {
val op = fa.fix()
return when (op) {
is Put<*> -> StateApi.modify { mapK: MapK<String, Any?> -> mapK.updated(op.key, op.value) }
is Get -> StateApi.inspect { mapK: MapK<String, Any?> -> mapK[op.key] as A }
is Delete -> StateApi.modify { mapK: MapK<String, Any?> -> (mapK - op.key).k() }
} as State<MapK<String, Any?>, A>
}
pakoito
02/14/2019, 6:37 PMpakoito
02/14/2019, 6:37 PMPaolo Gavočanov
02/14/2019, 6:39 PMraulraja
02/15/2019, 12:27 AMraulraja
02/15/2019, 12:28 AMPaolo Gavočanov
02/15/2019, 8:43 AMId
and Eq
, having trouble with State
, and I guess later on (from the cats article) with Inject
.Paolo Gavočanov
02/15/2019, 8:44 AMraulraja
02/15/2019, 12:10 PMraulraja
02/15/2019, 12:11 PMraulraja
02/15/2019, 12:12 PMraulraja
02/15/2019, 12:12 PMPaolo Gavočanov
02/15/2019, 1:14 PMFlatMapped
and co. in Arrow, so all in all not ready for prime time in Kotlin, better do exploration in Scala ro Haskell
thnx a lot for your time guys!raulraja
02/15/2019, 9:45 PMraulraja
02/15/2019, 9:45 PMraulraja
02/15/2019, 9:46 PM