raulraja
04/10/2019, 8:18 AMgildor
04/11/2019, 9:15 AMraulraja
04/11/2019, 9:25 AMstack labels
trick we use reflection for in binding
and monad comprehensions.bind
or !
can be expressed in terms of stack safe function application for all capable data types that know how to deal with suspend
. The current trick https://github.com/arrow-kt/arrow/blob/master/modules/core/arrow-typeclasses/src/main/kotlin/arrow/typeclasses/MonadContinuations.kt#L59-L61 was there to support Monad
generalized so that bind
can be expressed delegating to flatMap
but if if we provide separate continuations for strict vs suspended monads this trick won't be necessarygildor
04/12/2019, 1:45 AMraulraja
04/12/2019, 10:47 AMType
instance https://github.com/arrow-kt/arrow/blob/master/modules/meta/arrow-meta/src/main/java/arrow/meta/ast/ast.kt#L233 using the information from PSI. We are not sure how to accomplish that yet.