the nullable case not compile :sweat_smile: : `Exc...
# arrow
c
the nullable case not compile 😅 :
Exception in thread "main" java.lang.AbstractMethodError: Receiver class com.acv.composeland.ui.arrow.ArrowKt$nullable$2$1 does not define or inherit an implementation of the resolved method 'abstract java.lang.Object invoke(com.acv.composeland.ui.arrow.Either, kotlin.coroutines.Continuation)' of interface com.acv.composeland.ui.arrow.NullableEffect.
at com.acv.composeland.ui.arrow.ArrowKt$main$composition2$1.invokeSuspend(Arrow.kt:75)
at com.acv.composeland.ui.arrow.ArrowKt$main$composition2$1.invoke(Arrow.kt)
at com.acv.composeland.ui.arrow.ArrowKt$nullable$$inlined$suspended$1.invokeSuspend(Effect.kt:25)
at com.acv.composeland.ui.arrow.ArrowKt$nullable$$inlined$suspended$1.invoke(Effect.kt)
at arrow.continuations.generic.SuspendMonadContinuation.startCoroutineUninterceptedOrReturn(SuspendingComputation.kt:88)
at arrow.continuations.Reset.suspended(Reset.kt:27)
at com.acv.composeland.ui.arrow.ArrowKt.nullable(Arrow.kt:88)
at com.acv.composeland.ui.arrow.ArrowKt.main(Arrow.kt:74)
at com.acv.composeland.ui.arrow.ArrowKt$main$2.invoke(Arrow.kt)
at com.acv.composeland.ui.arrow.ArrowKt$main$2.invoke(Arrow.kt)
at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKt__IntrinsicsJvmKt$1.invokeSuspend(IntrinsicsJvm.kt:205)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:115)
at kotlin.coroutines.jvm.internal.RunSuspendKt.runSuspend(RunSuspend.kt:19)
at com.acv.composeland.ui.arrow.ArrowKt.main(Arrow.kt)
r
yes you can compose Effects by creating new blocks that redefine operators or extending things like EitherEffect to create your own computation expressions. As for the abstract method error at runtime it seems you may have found a bug provided your classpath has no conflicting declarations or has been compiled with different kotlin compilers