jacob
05/12/2019, 11:20 AMraulraja
05/12/2019, 11:28 AMraulraja
05/12/2019, 11:28 AMraulraja
05/12/2019, 11:28 AMsimon.vergauwen
05/12/2019, 11:29 AMjacob
05/12/2019, 11:29 AMsimon.vergauwen
05/12/2019, 11:30 AMjacob
05/12/2019, 11:30 AMjacob
05/12/2019, 11:30 AMsimon.vergauwen
05/12/2019, 11:32 AMraulraja
05/12/2019, 11:32 AMsimon.vergauwen
05/12/2019, 4:58 PMFile
apijacob
05/13/2019, 10:02 AM/* calculate :: MonadThrow A => HasRepositories F => HasWarehouseService F =>
ShoppingCart -> Kleisli A (F a) ShoppingCart */
fun <F, A> calculate(
AMT: MonadThrow<A>,
FHR: HasRepositories<F>,
FHW: HasWarehouseService<F>,
cart: ShoppingCart
): Kleisli<A, Kind<F, A>, ShoppingCart> {
return calculateDiscount<F, A>(FHR, cart).flatMap(AMT) { cart -> calculateErrors<F, A>(FHW, cart) }
}
simon.vergauwen
05/13/2019, 10:07 AMfun <F, A> calculate(cart: ShoppingCart): Kleisli<A, Kind<F, A>, ShoppingCart> =
calculateDiscount<F, A>(cart).flatMap(::calculateErrors)
simon.vergauwen
05/13/2019, 10:07 AMjacob
05/13/2019, 10:08 AMjacob
05/13/2019, 10:08 AMsimon.vergauwen
05/13/2019, 10:08 AM<F, A>
in that lambda. I feel like that currently wouldn’t be support to maybe flatMap { cart -> calculateErrors<F, A>(cart) }
jacob
05/13/2019, 10:08 AMjacob
05/13/2019, 10:13 AMsimon.vergauwen
05/13/2019, 10:18 AMjacob
05/13/2019, 11:20 AMjacob
05/13/2019, 11:20 AMsimon.vergauwen
05/13/2019, 11:21 AMjacob
05/13/2019, 11:21 AMsimon.vergauwen
05/13/2019, 11:23 AMsimon.vergauwen
05/13/2019, 11:23 AMjacob
05/13/2019, 11:24 AMsimon.vergauwen
05/13/2019, 11:24 AMjacob
05/13/2019, 11:24 AM