Wesley Hartford
sealed interface LeftResult sealed interface DatabaseLeftResult: LeftResult sealed interface ApiLeftResult: LeftResult fun queryDatabase() = effect<DatabaseLeftResult, Int> { 42 } fun submitNumber(number: Int) = effect<ApiLeftResult, Unit> { println(number) } fun queryAndSubmit() = effect<LeftResult, Unit> { val number = queryDatabase().bind() submitNumber(number).bind() }
bind
queryAndSubmit
queryDatabase
submitNumber
LeftResult
.toEither().bind()
simon.vergauwen
A modern programming language that makes developers happier.