than_
07/02/2020, 12:39 PMfun <V1, V2, ..., V22, E, R)validatedMapN(v1: Validated<E,V1>, v2: Validated<E,V2>, ..., v22: V22, sg: Semigroup<E>, f: (V1, V2, ..., V22)->R): Validated<E, R>
fteychene
07/02/2020, 1:05 PMmap
on Validated applicative that seems to look like what you want.
Like this
import arrow.core.Nel
import arrow.core.Validated
import arrow.core.extensions.nonemptylist.semigroup.semigroup
import arrow.core.extensions.validated.applicative.applicative
sealed class ValidationError
fun someValidation(): Validated<Nel<ValidationError>, String> = TODO()
fun main() {
Validated.applicative(Nel.semigroup<ValidationError>())
.map(
someValidation(),
someValidation(),
someValidation(),
someValidation(),
someValidation(),
someValidation(),
someValidation()
) { (a, b, c, d, e, f, g) -> listOf(a, b, c, d, e, f, g) }
}
Or I am missing something 😄
Just it exists for 1 to 10 args from what I knowthan_
07/02/2020, 1:10 PM