mirror of
https://github.com/IBM/fp-go.git
synced 2025-11-23 22:14:53 +02:00
* fix: initial checkin of v2 Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: slowly migrate IO Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: migrate MonadTraverseArray and TraverseArray Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: migrate traversal Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: complete migration of IO Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: migrate ioeither Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: refactorY Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: next step in migration Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: adjust IO generation code Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: get rid of more IO methods Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: get rid of more IO * fix: convert iooption Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: convert reader Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: convert a bit of reader Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: new build script Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: cleanup Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: reformat Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: simplify Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: some cleanup Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: adjust Pair to Haskell semantic Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: documentation and testcases Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: some performance optimizations Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: remove coverage Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> * fix: better doc Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com> --------- Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
1692 lines
77 KiB
Go
1692 lines
77 KiB
Go
// Code generated by go generate; DO NOT EDIT.
|
|
// This file was generated by robots at
|
|
// 2025-03-09 23:53:05.8147342 +0100 CET m=+0.003528401
|
|
|
|
package io
|
|
|
|
|
|
import (
|
|
"github.com/IBM/fp-go/v2/tuple"
|
|
"github.com/IBM/fp-go/v2/internal/apply"
|
|
)
|
|
|
|
// SequenceT1 converts 1 [IO[T]] into a [IO[tuple.Tuple1[T1]]]
|
|
func SequenceT1[T1 any](
|
|
t1 IO[T1],
|
|
) IO[tuple.Tuple1[T1]] {
|
|
return apply.SequenceT1(
|
|
Map[T1, tuple.Tuple1[T1]],
|
|
t1,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT1 converts 1 [IO[T]] into a [IO[tuple.Tuple1[T1]]]
|
|
func SequenceSeqT1[T1 any](
|
|
t1 IO[T1],
|
|
) IO[tuple.Tuple1[T1]] {
|
|
return apply.SequenceT1(
|
|
Map[T1, tuple.Tuple1[T1]],
|
|
t1,
|
|
)
|
|
}
|
|
|
|
// SequenceParT1 converts 1 [IO[T]] into a [IO[tuple.Tuple1[T1]]]
|
|
func SequenceParT1[T1 any](
|
|
t1 IO[T1],
|
|
) IO[tuple.Tuple1[T1]] {
|
|
return apply.SequenceT1(
|
|
Map[T1, tuple.Tuple1[T1]],
|
|
t1,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple1 converts a [tuple.Tuple1[IO[T]]] into a [IO[tuple.Tuple1[T1]]]
|
|
func SequenceTuple1[T1 any](t tuple.Tuple1[IO[T1]]) IO[tuple.Tuple1[T1]] {
|
|
return apply.SequenceTuple1(
|
|
Map[T1, tuple.Tuple1[T1]],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple1 converts a [tuple.Tuple1[IO[T]]] into a [IO[tuple.Tuple1[T1]]]
|
|
func SequenceSeqTuple1[T1 any](t tuple.Tuple1[IO[T1]]) IO[tuple.Tuple1[T1]] {
|
|
return apply.SequenceTuple1(
|
|
Map[T1, tuple.Tuple1[T1]],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple1 converts a [tuple.Tuple1[IO[T]]] into a [IO[tuple.Tuple1[T1]]]
|
|
func SequenceParTuple1[T1 any](t tuple.Tuple1[IO[T1]]) IO[tuple.Tuple1[T1]] {
|
|
return apply.SequenceTuple1(
|
|
Map[T1, tuple.Tuple1[T1]],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple1 converts a [tuple.Tuple1[A1]] into a [IO[tuple.Tuple1[T1]]]
|
|
func TraverseTuple1[F1 ~func(A1) IO[T1], T1, A1 any](f1 F1) func(tuple.Tuple1[A1]) IO[tuple.Tuple1[T1]] {
|
|
return func(t tuple.Tuple1[A1]) IO[tuple.Tuple1[T1]] {
|
|
return apply.TraverseTuple1(
|
|
Map[T1, tuple.Tuple1[T1]],
|
|
f1,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple1 converts a [tuple.Tuple1[A1]] into a [IO[tuple.Tuple1[T1]]]
|
|
func TraverseSeqTuple1[F1 ~func(A1) IO[T1], T1, A1 any](f1 F1) func(tuple.Tuple1[A1]) IO[tuple.Tuple1[T1]] {
|
|
return func(t tuple.Tuple1[A1]) IO[tuple.Tuple1[T1]] {
|
|
return apply.TraverseTuple1(
|
|
Map[T1, tuple.Tuple1[T1]],
|
|
f1,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple1 converts a [tuple.Tuple1[A1]] into a [IO[tuple.Tuple1[T1]]]
|
|
func TraverseParTuple1[F1 ~func(A1) IO[T1], T1, A1 any](f1 F1) func(tuple.Tuple1[A1]) IO[tuple.Tuple1[T1]] {
|
|
return func(t tuple.Tuple1[A1]) IO[tuple.Tuple1[T1]] {
|
|
return apply.TraverseTuple1(
|
|
Map[T1, tuple.Tuple1[T1]],
|
|
f1,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// SequenceT2 converts 2 [IO[T]] into a [IO[tuple.Tuple2[T1, T2]]]
|
|
func SequenceT2[T1, T2 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
) IO[tuple.Tuple2[T1, T2]] {
|
|
return apply.SequenceT2(
|
|
Map[T1, func(T2) tuple.Tuple2[T1, T2]],
|
|
Ap[tuple.Tuple2[T1, T2], T2],
|
|
t1,
|
|
t2,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT2 converts 2 [IO[T]] into a [IO[tuple.Tuple2[T1, T2]]]
|
|
func SequenceSeqT2[T1, T2 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
) IO[tuple.Tuple2[T1, T2]] {
|
|
return apply.SequenceT2(
|
|
Map[T1, func(T2) tuple.Tuple2[T1, T2]],
|
|
ApSeq[tuple.Tuple2[T1, T2], T2],
|
|
t1,
|
|
t2,
|
|
)
|
|
}
|
|
|
|
// SequenceParT2 converts 2 [IO[T]] into a [IO[tuple.Tuple2[T1, T2]]]
|
|
func SequenceParT2[T1, T2 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
) IO[tuple.Tuple2[T1, T2]] {
|
|
return apply.SequenceT2(
|
|
Map[T1, func(T2) tuple.Tuple2[T1, T2]],
|
|
ApPar[tuple.Tuple2[T1, T2], T2],
|
|
t1,
|
|
t2,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple2 converts a [tuple.Tuple2[IO[T]]] into a [IO[tuple.Tuple2[T1, T2]]]
|
|
func SequenceTuple2[T1, T2 any](t tuple.Tuple2[IO[T1], IO[T2]]) IO[tuple.Tuple2[T1, T2]] {
|
|
return apply.SequenceTuple2(
|
|
Map[T1, func(T2) tuple.Tuple2[T1, T2]],
|
|
Ap[tuple.Tuple2[T1, T2], T2],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple2 converts a [tuple.Tuple2[IO[T]]] into a [IO[tuple.Tuple2[T1, T2]]]
|
|
func SequenceSeqTuple2[T1, T2 any](t tuple.Tuple2[IO[T1], IO[T2]]) IO[tuple.Tuple2[T1, T2]] {
|
|
return apply.SequenceTuple2(
|
|
Map[T1, func(T2) tuple.Tuple2[T1, T2]],
|
|
ApSeq[tuple.Tuple2[T1, T2], T2],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple2 converts a [tuple.Tuple2[IO[T]]] into a [IO[tuple.Tuple2[T1, T2]]]
|
|
func SequenceParTuple2[T1, T2 any](t tuple.Tuple2[IO[T1], IO[T2]]) IO[tuple.Tuple2[T1, T2]] {
|
|
return apply.SequenceTuple2(
|
|
Map[T1, func(T2) tuple.Tuple2[T1, T2]],
|
|
ApPar[tuple.Tuple2[T1, T2], T2],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple2 converts a [tuple.Tuple2[A1, A2]] into a [IO[tuple.Tuple2[T1, T2]]]
|
|
func TraverseTuple2[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], T1, T2, A1, A2 any](f1 F1, f2 F2) func(tuple.Tuple2[A1, A2]) IO[tuple.Tuple2[T1, T2]] {
|
|
return func(t tuple.Tuple2[A1, A2]) IO[tuple.Tuple2[T1, T2]] {
|
|
return apply.TraverseTuple2(
|
|
Map[T1, func(T2) tuple.Tuple2[T1, T2]],
|
|
Ap[tuple.Tuple2[T1, T2], T2],
|
|
f1,
|
|
f2,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple2 converts a [tuple.Tuple2[A1, A2]] into a [IO[tuple.Tuple2[T1, T2]]]
|
|
func TraverseSeqTuple2[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], T1, T2, A1, A2 any](f1 F1, f2 F2) func(tuple.Tuple2[A1, A2]) IO[tuple.Tuple2[T1, T2]] {
|
|
return func(t tuple.Tuple2[A1, A2]) IO[tuple.Tuple2[T1, T2]] {
|
|
return apply.TraverseTuple2(
|
|
Map[T1, func(T2) tuple.Tuple2[T1, T2]],
|
|
ApSeq[tuple.Tuple2[T1, T2], T2],
|
|
f1,
|
|
f2,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple2 converts a [tuple.Tuple2[A1, A2]] into a [IO[tuple.Tuple2[T1, T2]]]
|
|
func TraverseParTuple2[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], T1, T2, A1, A2 any](f1 F1, f2 F2) func(tuple.Tuple2[A1, A2]) IO[tuple.Tuple2[T1, T2]] {
|
|
return func(t tuple.Tuple2[A1, A2]) IO[tuple.Tuple2[T1, T2]] {
|
|
return apply.TraverseTuple2(
|
|
Map[T1, func(T2) tuple.Tuple2[T1, T2]],
|
|
ApPar[tuple.Tuple2[T1, T2], T2],
|
|
f1,
|
|
f2,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// SequenceT3 converts 3 [IO[T]] into a [IO[tuple.Tuple3[T1, T2, T3]]]
|
|
func SequenceT3[T1, T2, T3 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return apply.SequenceT3(
|
|
Map[T1, func(T2) func(T3) tuple.Tuple3[T1, T2, T3]],
|
|
Ap[func(T3) tuple.Tuple3[T1, T2, T3], T2],
|
|
Ap[tuple.Tuple3[T1, T2, T3], T3],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT3 converts 3 [IO[T]] into a [IO[tuple.Tuple3[T1, T2, T3]]]
|
|
func SequenceSeqT3[T1, T2, T3 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return apply.SequenceT3(
|
|
Map[T1, func(T2) func(T3) tuple.Tuple3[T1, T2, T3]],
|
|
ApSeq[func(T3) tuple.Tuple3[T1, T2, T3], T2],
|
|
ApSeq[tuple.Tuple3[T1, T2, T3], T3],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
)
|
|
}
|
|
|
|
// SequenceParT3 converts 3 [IO[T]] into a [IO[tuple.Tuple3[T1, T2, T3]]]
|
|
func SequenceParT3[T1, T2, T3 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return apply.SequenceT3(
|
|
Map[T1, func(T2) func(T3) tuple.Tuple3[T1, T2, T3]],
|
|
ApPar[func(T3) tuple.Tuple3[T1, T2, T3], T2],
|
|
ApPar[tuple.Tuple3[T1, T2, T3], T3],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple3 converts a [tuple.Tuple3[IO[T]]] into a [IO[tuple.Tuple3[T1, T2, T3]]]
|
|
func SequenceTuple3[T1, T2, T3 any](t tuple.Tuple3[IO[T1], IO[T2], IO[T3]]) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return apply.SequenceTuple3(
|
|
Map[T1, func(T2) func(T3) tuple.Tuple3[T1, T2, T3]],
|
|
Ap[func(T3) tuple.Tuple3[T1, T2, T3], T2],
|
|
Ap[tuple.Tuple3[T1, T2, T3], T3],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple3 converts a [tuple.Tuple3[IO[T]]] into a [IO[tuple.Tuple3[T1, T2, T3]]]
|
|
func SequenceSeqTuple3[T1, T2, T3 any](t tuple.Tuple3[IO[T1], IO[T2], IO[T3]]) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return apply.SequenceTuple3(
|
|
Map[T1, func(T2) func(T3) tuple.Tuple3[T1, T2, T3]],
|
|
ApSeq[func(T3) tuple.Tuple3[T1, T2, T3], T2],
|
|
ApSeq[tuple.Tuple3[T1, T2, T3], T3],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple3 converts a [tuple.Tuple3[IO[T]]] into a [IO[tuple.Tuple3[T1, T2, T3]]]
|
|
func SequenceParTuple3[T1, T2, T3 any](t tuple.Tuple3[IO[T1], IO[T2], IO[T3]]) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return apply.SequenceTuple3(
|
|
Map[T1, func(T2) func(T3) tuple.Tuple3[T1, T2, T3]],
|
|
ApPar[func(T3) tuple.Tuple3[T1, T2, T3], T2],
|
|
ApPar[tuple.Tuple3[T1, T2, T3], T3],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple3 converts a [tuple.Tuple3[A1, A2, A3]] into a [IO[tuple.Tuple3[T1, T2, T3]]]
|
|
func TraverseTuple3[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], T1, T2, T3, A1, A2, A3 any](f1 F1, f2 F2, f3 F3) func(tuple.Tuple3[A1, A2, A3]) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return func(t tuple.Tuple3[A1, A2, A3]) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return apply.TraverseTuple3(
|
|
Map[T1, func(T2) func(T3) tuple.Tuple3[T1, T2, T3]],
|
|
Ap[func(T3) tuple.Tuple3[T1, T2, T3], T2],
|
|
Ap[tuple.Tuple3[T1, T2, T3], T3],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple3 converts a [tuple.Tuple3[A1, A2, A3]] into a [IO[tuple.Tuple3[T1, T2, T3]]]
|
|
func TraverseSeqTuple3[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], T1, T2, T3, A1, A2, A3 any](f1 F1, f2 F2, f3 F3) func(tuple.Tuple3[A1, A2, A3]) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return func(t tuple.Tuple3[A1, A2, A3]) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return apply.TraverseTuple3(
|
|
Map[T1, func(T2) func(T3) tuple.Tuple3[T1, T2, T3]],
|
|
ApSeq[func(T3) tuple.Tuple3[T1, T2, T3], T2],
|
|
ApSeq[tuple.Tuple3[T1, T2, T3], T3],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple3 converts a [tuple.Tuple3[A1, A2, A3]] into a [IO[tuple.Tuple3[T1, T2, T3]]]
|
|
func TraverseParTuple3[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], T1, T2, T3, A1, A2, A3 any](f1 F1, f2 F2, f3 F3) func(tuple.Tuple3[A1, A2, A3]) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return func(t tuple.Tuple3[A1, A2, A3]) IO[tuple.Tuple3[T1, T2, T3]] {
|
|
return apply.TraverseTuple3(
|
|
Map[T1, func(T2) func(T3) tuple.Tuple3[T1, T2, T3]],
|
|
ApPar[func(T3) tuple.Tuple3[T1, T2, T3], T2],
|
|
ApPar[tuple.Tuple3[T1, T2, T3], T3],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// SequenceT4 converts 4 [IO[T]] into a [IO[tuple.Tuple4[T1, T2, T3, T4]]]
|
|
func SequenceT4[T1, T2, T3, T4 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return apply.SequenceT4(
|
|
Map[T1, func(T2) func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4]],
|
|
Ap[func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4], T2],
|
|
Ap[func(T4) tuple.Tuple4[T1, T2, T3, T4], T3],
|
|
Ap[tuple.Tuple4[T1, T2, T3, T4], T4],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT4 converts 4 [IO[T]] into a [IO[tuple.Tuple4[T1, T2, T3, T4]]]
|
|
func SequenceSeqT4[T1, T2, T3, T4 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return apply.SequenceT4(
|
|
Map[T1, func(T2) func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4]],
|
|
ApSeq[func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4], T2],
|
|
ApSeq[func(T4) tuple.Tuple4[T1, T2, T3, T4], T3],
|
|
ApSeq[tuple.Tuple4[T1, T2, T3, T4], T4],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
)
|
|
}
|
|
|
|
// SequenceParT4 converts 4 [IO[T]] into a [IO[tuple.Tuple4[T1, T2, T3, T4]]]
|
|
func SequenceParT4[T1, T2, T3, T4 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return apply.SequenceT4(
|
|
Map[T1, func(T2) func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4]],
|
|
ApPar[func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4], T2],
|
|
ApPar[func(T4) tuple.Tuple4[T1, T2, T3, T4], T3],
|
|
ApPar[tuple.Tuple4[T1, T2, T3, T4], T4],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple4 converts a [tuple.Tuple4[IO[T]]] into a [IO[tuple.Tuple4[T1, T2, T3, T4]]]
|
|
func SequenceTuple4[T1, T2, T3, T4 any](t tuple.Tuple4[IO[T1], IO[T2], IO[T3], IO[T4]]) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return apply.SequenceTuple4(
|
|
Map[T1, func(T2) func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4]],
|
|
Ap[func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4], T2],
|
|
Ap[func(T4) tuple.Tuple4[T1, T2, T3, T4], T3],
|
|
Ap[tuple.Tuple4[T1, T2, T3, T4], T4],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple4 converts a [tuple.Tuple4[IO[T]]] into a [IO[tuple.Tuple4[T1, T2, T3, T4]]]
|
|
func SequenceSeqTuple4[T1, T2, T3, T4 any](t tuple.Tuple4[IO[T1], IO[T2], IO[T3], IO[T4]]) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return apply.SequenceTuple4(
|
|
Map[T1, func(T2) func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4]],
|
|
ApSeq[func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4], T2],
|
|
ApSeq[func(T4) tuple.Tuple4[T1, T2, T3, T4], T3],
|
|
ApSeq[tuple.Tuple4[T1, T2, T3, T4], T4],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple4 converts a [tuple.Tuple4[IO[T]]] into a [IO[tuple.Tuple4[T1, T2, T3, T4]]]
|
|
func SequenceParTuple4[T1, T2, T3, T4 any](t tuple.Tuple4[IO[T1], IO[T2], IO[T3], IO[T4]]) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return apply.SequenceTuple4(
|
|
Map[T1, func(T2) func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4]],
|
|
ApPar[func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4], T2],
|
|
ApPar[func(T4) tuple.Tuple4[T1, T2, T3, T4], T3],
|
|
ApPar[tuple.Tuple4[T1, T2, T3, T4], T4],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple4 converts a [tuple.Tuple4[A1, A2, A3, A4]] into a [IO[tuple.Tuple4[T1, T2, T3, T4]]]
|
|
func TraverseTuple4[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], T1, T2, T3, T4, A1, A2, A3, A4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(tuple.Tuple4[A1, A2, A3, A4]) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return func(t tuple.Tuple4[A1, A2, A3, A4]) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return apply.TraverseTuple4(
|
|
Map[T1, func(T2) func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4]],
|
|
Ap[func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4], T2],
|
|
Ap[func(T4) tuple.Tuple4[T1, T2, T3, T4], T3],
|
|
Ap[tuple.Tuple4[T1, T2, T3, T4], T4],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple4 converts a [tuple.Tuple4[A1, A2, A3, A4]] into a [IO[tuple.Tuple4[T1, T2, T3, T4]]]
|
|
func TraverseSeqTuple4[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], T1, T2, T3, T4, A1, A2, A3, A4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(tuple.Tuple4[A1, A2, A3, A4]) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return func(t tuple.Tuple4[A1, A2, A3, A4]) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return apply.TraverseTuple4(
|
|
Map[T1, func(T2) func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4]],
|
|
ApSeq[func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4], T2],
|
|
ApSeq[func(T4) tuple.Tuple4[T1, T2, T3, T4], T3],
|
|
ApSeq[tuple.Tuple4[T1, T2, T3, T4], T4],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple4 converts a [tuple.Tuple4[A1, A2, A3, A4]] into a [IO[tuple.Tuple4[T1, T2, T3, T4]]]
|
|
func TraverseParTuple4[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], T1, T2, T3, T4, A1, A2, A3, A4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(tuple.Tuple4[A1, A2, A3, A4]) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return func(t tuple.Tuple4[A1, A2, A3, A4]) IO[tuple.Tuple4[T1, T2, T3, T4]] {
|
|
return apply.TraverseTuple4(
|
|
Map[T1, func(T2) func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4]],
|
|
ApPar[func(T3) func(T4) tuple.Tuple4[T1, T2, T3, T4], T2],
|
|
ApPar[func(T4) tuple.Tuple4[T1, T2, T3, T4], T3],
|
|
ApPar[tuple.Tuple4[T1, T2, T3, T4], T4],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// SequenceT5 converts 5 [IO[T]] into a [IO[tuple.Tuple5[T1, T2, T3, T4, T5]]]
|
|
func SequenceT5[T1, T2, T3, T4, T5 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return apply.SequenceT5(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5]],
|
|
Ap[func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T2],
|
|
Ap[func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T3],
|
|
Ap[func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T4],
|
|
Ap[tuple.Tuple5[T1, T2, T3, T4, T5], T5],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT5 converts 5 [IO[T]] into a [IO[tuple.Tuple5[T1, T2, T3, T4, T5]]]
|
|
func SequenceSeqT5[T1, T2, T3, T4, T5 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return apply.SequenceT5(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5]],
|
|
ApSeq[func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T2],
|
|
ApSeq[func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T3],
|
|
ApSeq[func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T4],
|
|
ApSeq[tuple.Tuple5[T1, T2, T3, T4, T5], T5],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
)
|
|
}
|
|
|
|
// SequenceParT5 converts 5 [IO[T]] into a [IO[tuple.Tuple5[T1, T2, T3, T4, T5]]]
|
|
func SequenceParT5[T1, T2, T3, T4, T5 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return apply.SequenceT5(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5]],
|
|
ApPar[func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T2],
|
|
ApPar[func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T3],
|
|
ApPar[func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T4],
|
|
ApPar[tuple.Tuple5[T1, T2, T3, T4, T5], T5],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple5 converts a [tuple.Tuple5[IO[T]]] into a [IO[tuple.Tuple5[T1, T2, T3, T4, T5]]]
|
|
func SequenceTuple5[T1, T2, T3, T4, T5 any](t tuple.Tuple5[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5]]) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return apply.SequenceTuple5(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5]],
|
|
Ap[func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T2],
|
|
Ap[func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T3],
|
|
Ap[func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T4],
|
|
Ap[tuple.Tuple5[T1, T2, T3, T4, T5], T5],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple5 converts a [tuple.Tuple5[IO[T]]] into a [IO[tuple.Tuple5[T1, T2, T3, T4, T5]]]
|
|
func SequenceSeqTuple5[T1, T2, T3, T4, T5 any](t tuple.Tuple5[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5]]) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return apply.SequenceTuple5(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5]],
|
|
ApSeq[func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T2],
|
|
ApSeq[func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T3],
|
|
ApSeq[func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T4],
|
|
ApSeq[tuple.Tuple5[T1, T2, T3, T4, T5], T5],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple5 converts a [tuple.Tuple5[IO[T]]] into a [IO[tuple.Tuple5[T1, T2, T3, T4, T5]]]
|
|
func SequenceParTuple5[T1, T2, T3, T4, T5 any](t tuple.Tuple5[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5]]) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return apply.SequenceTuple5(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5]],
|
|
ApPar[func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T2],
|
|
ApPar[func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T3],
|
|
ApPar[func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T4],
|
|
ApPar[tuple.Tuple5[T1, T2, T3, T4, T5], T5],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple5 converts a [tuple.Tuple5[A1, A2, A3, A4, A5]] into a [IO[tuple.Tuple5[T1, T2, T3, T4, T5]]]
|
|
func TraverseTuple5[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], T1, T2, T3, T4, T5, A1, A2, A3, A4, A5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(tuple.Tuple5[A1, A2, A3, A4, A5]) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return func(t tuple.Tuple5[A1, A2, A3, A4, A5]) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return apply.TraverseTuple5(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5]],
|
|
Ap[func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T2],
|
|
Ap[func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T3],
|
|
Ap[func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T4],
|
|
Ap[tuple.Tuple5[T1, T2, T3, T4, T5], T5],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple5 converts a [tuple.Tuple5[A1, A2, A3, A4, A5]] into a [IO[tuple.Tuple5[T1, T2, T3, T4, T5]]]
|
|
func TraverseSeqTuple5[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], T1, T2, T3, T4, T5, A1, A2, A3, A4, A5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(tuple.Tuple5[A1, A2, A3, A4, A5]) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return func(t tuple.Tuple5[A1, A2, A3, A4, A5]) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return apply.TraverseTuple5(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5]],
|
|
ApSeq[func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T2],
|
|
ApSeq[func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T3],
|
|
ApSeq[func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T4],
|
|
ApSeq[tuple.Tuple5[T1, T2, T3, T4, T5], T5],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple5 converts a [tuple.Tuple5[A1, A2, A3, A4, A5]] into a [IO[tuple.Tuple5[T1, T2, T3, T4, T5]]]
|
|
func TraverseParTuple5[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], T1, T2, T3, T4, T5, A1, A2, A3, A4, A5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(tuple.Tuple5[A1, A2, A3, A4, A5]) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return func(t tuple.Tuple5[A1, A2, A3, A4, A5]) IO[tuple.Tuple5[T1, T2, T3, T4, T5]] {
|
|
return apply.TraverseTuple5(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5]],
|
|
ApPar[func(T3) func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T2],
|
|
ApPar[func(T4) func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T3],
|
|
ApPar[func(T5) tuple.Tuple5[T1, T2, T3, T4, T5], T4],
|
|
ApPar[tuple.Tuple5[T1, T2, T3, T4, T5], T5],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// SequenceT6 converts 6 [IO[T]] into a [IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
|
func SequenceT6[T1, T2, T3, T4, T5, T6 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return apply.SequenceT6(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T2],
|
|
Ap[func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T3],
|
|
Ap[func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T4],
|
|
Ap[func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T5],
|
|
Ap[tuple.Tuple6[T1, T2, T3, T4, T5, T6], T6],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT6 converts 6 [IO[T]] into a [IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
|
func SequenceSeqT6[T1, T2, T3, T4, T5, T6 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return apply.SequenceT6(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T3],
|
|
ApSeq[func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T4],
|
|
ApSeq[func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T5],
|
|
ApSeq[tuple.Tuple6[T1, T2, T3, T4, T5, T6], T6],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
)
|
|
}
|
|
|
|
// SequenceParT6 converts 6 [IO[T]] into a [IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
|
func SequenceParT6[T1, T2, T3, T4, T5, T6 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return apply.SequenceT6(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T2],
|
|
ApPar[func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T3],
|
|
ApPar[func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T4],
|
|
ApPar[func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T5],
|
|
ApPar[tuple.Tuple6[T1, T2, T3, T4, T5, T6], T6],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple6 converts a [tuple.Tuple6[IO[T]]] into a [IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
|
func SequenceTuple6[T1, T2, T3, T4, T5, T6 any](t tuple.Tuple6[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6]]) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return apply.SequenceTuple6(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T2],
|
|
Ap[func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T3],
|
|
Ap[func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T4],
|
|
Ap[func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T5],
|
|
Ap[tuple.Tuple6[T1, T2, T3, T4, T5, T6], T6],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple6 converts a [tuple.Tuple6[IO[T]]] into a [IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
|
func SequenceSeqTuple6[T1, T2, T3, T4, T5, T6 any](t tuple.Tuple6[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6]]) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return apply.SequenceTuple6(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T3],
|
|
ApSeq[func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T4],
|
|
ApSeq[func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T5],
|
|
ApSeq[tuple.Tuple6[T1, T2, T3, T4, T5, T6], T6],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple6 converts a [tuple.Tuple6[IO[T]]] into a [IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
|
func SequenceParTuple6[T1, T2, T3, T4, T5, T6 any](t tuple.Tuple6[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6]]) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return apply.SequenceTuple6(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T2],
|
|
ApPar[func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T3],
|
|
ApPar[func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T4],
|
|
ApPar[func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T5],
|
|
ApPar[tuple.Tuple6[T1, T2, T3, T4, T5, T6], T6],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple6 converts a [tuple.Tuple6[A1, A2, A3, A4, A5, A6]] into a [IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
|
func TraverseTuple6[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], T1, T2, T3, T4, T5, T6, A1, A2, A3, A4, A5, A6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(tuple.Tuple6[A1, A2, A3, A4, A5, A6]) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return func(t tuple.Tuple6[A1, A2, A3, A4, A5, A6]) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return apply.TraverseTuple6(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T2],
|
|
Ap[func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T3],
|
|
Ap[func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T4],
|
|
Ap[func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T5],
|
|
Ap[tuple.Tuple6[T1, T2, T3, T4, T5, T6], T6],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple6 converts a [tuple.Tuple6[A1, A2, A3, A4, A5, A6]] into a [IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
|
func TraverseSeqTuple6[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], T1, T2, T3, T4, T5, T6, A1, A2, A3, A4, A5, A6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(tuple.Tuple6[A1, A2, A3, A4, A5, A6]) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return func(t tuple.Tuple6[A1, A2, A3, A4, A5, A6]) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return apply.TraverseTuple6(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T3],
|
|
ApSeq[func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T4],
|
|
ApSeq[func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T5],
|
|
ApSeq[tuple.Tuple6[T1, T2, T3, T4, T5, T6], T6],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple6 converts a [tuple.Tuple6[A1, A2, A3, A4, A5, A6]] into a [IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
|
func TraverseParTuple6[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], T1, T2, T3, T4, T5, T6, A1, A2, A3, A4, A5, A6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(tuple.Tuple6[A1, A2, A3, A4, A5, A6]) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return func(t tuple.Tuple6[A1, A2, A3, A4, A5, A6]) IO[tuple.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
|
return apply.TraverseTuple6(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T2],
|
|
ApPar[func(T4) func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T3],
|
|
ApPar[func(T5) func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T4],
|
|
ApPar[func(T6) tuple.Tuple6[T1, T2, T3, T4, T5, T6], T5],
|
|
ApPar[tuple.Tuple6[T1, T2, T3, T4, T5, T6], T6],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// SequenceT7 converts 7 [IO[T]] into a [IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
|
func SequenceT7[T1, T2, T3, T4, T5, T6, T7 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return apply.SequenceT7(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T3],
|
|
Ap[func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T4],
|
|
Ap[func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T5],
|
|
Ap[func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T6],
|
|
Ap[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T7],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT7 converts 7 [IO[T]] into a [IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
|
func SequenceSeqT7[T1, T2, T3, T4, T5, T6, T7 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return apply.SequenceT7(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T4],
|
|
ApSeq[func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T5],
|
|
ApSeq[func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T6],
|
|
ApSeq[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T7],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
)
|
|
}
|
|
|
|
// SequenceParT7 converts 7 [IO[T]] into a [IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
|
func SequenceParT7[T1, T2, T3, T4, T5, T6, T7 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return apply.SequenceT7(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T3],
|
|
ApPar[func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T4],
|
|
ApPar[func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T5],
|
|
ApPar[func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T6],
|
|
ApPar[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T7],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple7 converts a [tuple.Tuple7[IO[T]]] into a [IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
|
func SequenceTuple7[T1, T2, T3, T4, T5, T6, T7 any](t tuple.Tuple7[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7]]) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return apply.SequenceTuple7(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T3],
|
|
Ap[func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T4],
|
|
Ap[func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T5],
|
|
Ap[func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T6],
|
|
Ap[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T7],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple7 converts a [tuple.Tuple7[IO[T]]] into a [IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
|
func SequenceSeqTuple7[T1, T2, T3, T4, T5, T6, T7 any](t tuple.Tuple7[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7]]) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return apply.SequenceTuple7(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T4],
|
|
ApSeq[func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T5],
|
|
ApSeq[func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T6],
|
|
ApSeq[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T7],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple7 converts a [tuple.Tuple7[IO[T]]] into a [IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
|
func SequenceParTuple7[T1, T2, T3, T4, T5, T6, T7 any](t tuple.Tuple7[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7]]) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return apply.SequenceTuple7(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T3],
|
|
ApPar[func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T4],
|
|
ApPar[func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T5],
|
|
ApPar[func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T6],
|
|
ApPar[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T7],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple7 converts a [tuple.Tuple7[A1, A2, A3, A4, A5, A6, A7]] into a [IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
|
func TraverseTuple7[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], T1, T2, T3, T4, T5, T6, T7, A1, A2, A3, A4, A5, A6, A7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(tuple.Tuple7[A1, A2, A3, A4, A5, A6, A7]) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return func(t tuple.Tuple7[A1, A2, A3, A4, A5, A6, A7]) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return apply.TraverseTuple7(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T3],
|
|
Ap[func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T4],
|
|
Ap[func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T5],
|
|
Ap[func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T6],
|
|
Ap[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T7],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple7 converts a [tuple.Tuple7[A1, A2, A3, A4, A5, A6, A7]] into a [IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
|
func TraverseSeqTuple7[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], T1, T2, T3, T4, T5, T6, T7, A1, A2, A3, A4, A5, A6, A7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(tuple.Tuple7[A1, A2, A3, A4, A5, A6, A7]) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return func(t tuple.Tuple7[A1, A2, A3, A4, A5, A6, A7]) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return apply.TraverseTuple7(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T4],
|
|
ApSeq[func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T5],
|
|
ApSeq[func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T6],
|
|
ApSeq[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T7],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple7 converts a [tuple.Tuple7[A1, A2, A3, A4, A5, A6, A7]] into a [IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
|
func TraverseParTuple7[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], T1, T2, T3, T4, T5, T6, T7, A1, A2, A3, A4, A5, A6, A7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(tuple.Tuple7[A1, A2, A3, A4, A5, A6, A7]) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return func(t tuple.Tuple7[A1, A2, A3, A4, A5, A6, A7]) IO[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
|
return apply.TraverseTuple7(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T3],
|
|
ApPar[func(T5) func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T4],
|
|
ApPar[func(T6) func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T5],
|
|
ApPar[func(T7) tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T6],
|
|
ApPar[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7], T7],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// SequenceT8 converts 8 [IO[T]] into a [IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
|
func SequenceT8[T1, T2, T3, T4, T5, T6, T7, T8 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
t8 IO[T8],
|
|
) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return apply.SequenceT8(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T3],
|
|
Ap[func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T4],
|
|
Ap[func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T5],
|
|
Ap[func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T6],
|
|
Ap[func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T7],
|
|
Ap[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T8],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT8 converts 8 [IO[T]] into a [IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
|
func SequenceSeqT8[T1, T2, T3, T4, T5, T6, T7, T8 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
t8 IO[T8],
|
|
) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return apply.SequenceT8(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T4],
|
|
ApSeq[func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T5],
|
|
ApSeq[func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T6],
|
|
ApSeq[func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T7],
|
|
ApSeq[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T8],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
)
|
|
}
|
|
|
|
// SequenceParT8 converts 8 [IO[T]] into a [IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
|
func SequenceParT8[T1, T2, T3, T4, T5, T6, T7, T8 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
t8 IO[T8],
|
|
) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return apply.SequenceT8(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T3],
|
|
ApPar[func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T4],
|
|
ApPar[func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T5],
|
|
ApPar[func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T6],
|
|
ApPar[func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T7],
|
|
ApPar[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T8],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple8 converts a [tuple.Tuple8[IO[T]]] into a [IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
|
func SequenceTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](t tuple.Tuple8[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8]]) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return apply.SequenceTuple8(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T3],
|
|
Ap[func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T4],
|
|
Ap[func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T5],
|
|
Ap[func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T6],
|
|
Ap[func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T7],
|
|
Ap[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T8],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple8 converts a [tuple.Tuple8[IO[T]]] into a [IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
|
func SequenceSeqTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](t tuple.Tuple8[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8]]) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return apply.SequenceTuple8(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T4],
|
|
ApSeq[func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T5],
|
|
ApSeq[func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T6],
|
|
ApSeq[func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T7],
|
|
ApSeq[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T8],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple8 converts a [tuple.Tuple8[IO[T]]] into a [IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
|
func SequenceParTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](t tuple.Tuple8[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8]]) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return apply.SequenceTuple8(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T3],
|
|
ApPar[func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T4],
|
|
ApPar[func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T5],
|
|
ApPar[func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T6],
|
|
ApPar[func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T7],
|
|
ApPar[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T8],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple8 converts a [tuple.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]] into a [IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
|
func TraverseTuple8[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], T1, T2, T3, T4, T5, T6, T7, T8, A1, A2, A3, A4, A5, A6, A7, A8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(tuple.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return func(t tuple.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return apply.TraverseTuple8(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T3],
|
|
Ap[func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T4],
|
|
Ap[func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T5],
|
|
Ap[func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T6],
|
|
Ap[func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T7],
|
|
Ap[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T8],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple8 converts a [tuple.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]] into a [IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
|
func TraverseSeqTuple8[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], T1, T2, T3, T4, T5, T6, T7, T8, A1, A2, A3, A4, A5, A6, A7, A8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(tuple.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return func(t tuple.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return apply.TraverseTuple8(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T4],
|
|
ApSeq[func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T5],
|
|
ApSeq[func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T6],
|
|
ApSeq[func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T7],
|
|
ApSeq[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T8],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple8 converts a [tuple.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]] into a [IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
|
func TraverseParTuple8[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], T1, T2, T3, T4, T5, T6, T7, T8, A1, A2, A3, A4, A5, A6, A7, A8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(tuple.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return func(t tuple.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) IO[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
|
return apply.TraverseTuple8(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T3],
|
|
ApPar[func(T5) func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T4],
|
|
ApPar[func(T6) func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T5],
|
|
ApPar[func(T7) func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T6],
|
|
ApPar[func(T8) tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T7],
|
|
ApPar[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T8],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// SequenceT9 converts 9 [IO[T]] into a [IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
|
func SequenceT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
t8 IO[T8],
|
|
t9 IO[T9],
|
|
) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return apply.SequenceT9(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T3],
|
|
Ap[func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T4],
|
|
Ap[func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T5],
|
|
Ap[func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T6],
|
|
Ap[func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T7],
|
|
Ap[func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T8],
|
|
Ap[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T9],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
t9,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT9 converts 9 [IO[T]] into a [IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
|
func SequenceSeqT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
t8 IO[T8],
|
|
t9 IO[T9],
|
|
) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return apply.SequenceT9(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T4],
|
|
ApSeq[func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T5],
|
|
ApSeq[func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T6],
|
|
ApSeq[func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T7],
|
|
ApSeq[func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T8],
|
|
ApSeq[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T9],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
t9,
|
|
)
|
|
}
|
|
|
|
// SequenceParT9 converts 9 [IO[T]] into a [IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
|
func SequenceParT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
t8 IO[T8],
|
|
t9 IO[T9],
|
|
) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return apply.SequenceT9(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T3],
|
|
ApPar[func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T4],
|
|
ApPar[func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T5],
|
|
ApPar[func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T6],
|
|
ApPar[func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T7],
|
|
ApPar[func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T8],
|
|
ApPar[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T9],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
t9,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple9 converts a [tuple.Tuple9[IO[T]]] into a [IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
|
func SequenceTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t tuple.Tuple9[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8], IO[T9]]) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return apply.SequenceTuple9(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T3],
|
|
Ap[func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T4],
|
|
Ap[func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T5],
|
|
Ap[func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T6],
|
|
Ap[func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T7],
|
|
Ap[func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T8],
|
|
Ap[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T9],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple9 converts a [tuple.Tuple9[IO[T]]] into a [IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
|
func SequenceSeqTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t tuple.Tuple9[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8], IO[T9]]) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return apply.SequenceTuple9(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T4],
|
|
ApSeq[func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T5],
|
|
ApSeq[func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T6],
|
|
ApSeq[func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T7],
|
|
ApSeq[func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T8],
|
|
ApSeq[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T9],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple9 converts a [tuple.Tuple9[IO[T]]] into a [IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
|
func SequenceParTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t tuple.Tuple9[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8], IO[T9]]) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return apply.SequenceTuple9(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T3],
|
|
ApPar[func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T4],
|
|
ApPar[func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T5],
|
|
ApPar[func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T6],
|
|
ApPar[func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T7],
|
|
ApPar[func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T8],
|
|
ApPar[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T9],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple9 converts a [tuple.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]] into a [IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
|
func TraverseTuple9[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], F9 ~func(A9) IO[T9], T1, T2, T3, T4, T5, T6, T7, T8, T9, A1, A2, A3, A4, A5, A6, A7, A8, A9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(tuple.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return func(t tuple.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return apply.TraverseTuple9(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T3],
|
|
Ap[func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T4],
|
|
Ap[func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T5],
|
|
Ap[func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T6],
|
|
Ap[func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T7],
|
|
Ap[func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T8],
|
|
Ap[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T9],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
f9,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple9 converts a [tuple.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]] into a [IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
|
func TraverseSeqTuple9[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], F9 ~func(A9) IO[T9], T1, T2, T3, T4, T5, T6, T7, T8, T9, A1, A2, A3, A4, A5, A6, A7, A8, A9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(tuple.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return func(t tuple.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return apply.TraverseTuple9(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T4],
|
|
ApSeq[func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T5],
|
|
ApSeq[func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T6],
|
|
ApSeq[func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T7],
|
|
ApSeq[func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T8],
|
|
ApSeq[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T9],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
f9,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple9 converts a [tuple.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]] into a [IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
|
func TraverseParTuple9[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], F9 ~func(A9) IO[T9], T1, T2, T3, T4, T5, T6, T7, T8, T9, A1, A2, A3, A4, A5, A6, A7, A8, A9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(tuple.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return func(t tuple.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) IO[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
|
return apply.TraverseTuple9(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T3],
|
|
ApPar[func(T5) func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T4],
|
|
ApPar[func(T6) func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T5],
|
|
ApPar[func(T7) func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T6],
|
|
ApPar[func(T8) func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T7],
|
|
ApPar[func(T9) tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T8],
|
|
ApPar[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T9],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
f9,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// SequenceT10 converts 10 [IO[T]] into a [IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
|
func SequenceT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
t8 IO[T8],
|
|
t9 IO[T9],
|
|
t10 IO[T10],
|
|
) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return apply.SequenceT10(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T3],
|
|
Ap[func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T4],
|
|
Ap[func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T5],
|
|
Ap[func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T6],
|
|
Ap[func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T7],
|
|
Ap[func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T8],
|
|
Ap[func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T9],
|
|
Ap[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T10],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
t9,
|
|
t10,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqT10 converts 10 [IO[T]] into a [IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
|
func SequenceSeqT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
t8 IO[T8],
|
|
t9 IO[T9],
|
|
t10 IO[T10],
|
|
) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return apply.SequenceT10(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T4],
|
|
ApSeq[func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T5],
|
|
ApSeq[func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T6],
|
|
ApSeq[func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T7],
|
|
ApSeq[func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T8],
|
|
ApSeq[func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T9],
|
|
ApSeq[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T10],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
t9,
|
|
t10,
|
|
)
|
|
}
|
|
|
|
// SequenceParT10 converts 10 [IO[T]] into a [IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
|
func SequenceParT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](
|
|
t1 IO[T1],
|
|
t2 IO[T2],
|
|
t3 IO[T3],
|
|
t4 IO[T4],
|
|
t5 IO[T5],
|
|
t6 IO[T6],
|
|
t7 IO[T7],
|
|
t8 IO[T8],
|
|
t9 IO[T9],
|
|
t10 IO[T10],
|
|
) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return apply.SequenceT10(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T3],
|
|
ApPar[func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T4],
|
|
ApPar[func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T5],
|
|
ApPar[func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T6],
|
|
ApPar[func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T7],
|
|
ApPar[func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T8],
|
|
ApPar[func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T9],
|
|
ApPar[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T10],
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
t9,
|
|
t10,
|
|
)
|
|
}
|
|
|
|
// SequenceTuple10 converts a [tuple.Tuple10[IO[T]]] into a [IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
|
func SequenceTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t tuple.Tuple10[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8], IO[T9], IO[T10]]) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return apply.SequenceTuple10(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T3],
|
|
Ap[func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T4],
|
|
Ap[func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T5],
|
|
Ap[func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T6],
|
|
Ap[func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T7],
|
|
Ap[func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T8],
|
|
Ap[func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T9],
|
|
Ap[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T10],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceSeqTuple10 converts a [tuple.Tuple10[IO[T]]] into a [IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
|
func SequenceSeqTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t tuple.Tuple10[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8], IO[T9], IO[T10]]) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return apply.SequenceTuple10(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T4],
|
|
ApSeq[func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T5],
|
|
ApSeq[func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T6],
|
|
ApSeq[func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T7],
|
|
ApSeq[func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T8],
|
|
ApSeq[func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T9],
|
|
ApSeq[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T10],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// SequenceParTuple10 converts a [tuple.Tuple10[IO[T]]] into a [IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
|
func SequenceParTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t tuple.Tuple10[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8], IO[T9], IO[T10]]) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return apply.SequenceTuple10(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T3],
|
|
ApPar[func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T4],
|
|
ApPar[func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T5],
|
|
ApPar[func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T6],
|
|
ApPar[func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T7],
|
|
ApPar[func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T8],
|
|
ApPar[func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T9],
|
|
ApPar[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T10],
|
|
t,
|
|
)
|
|
}
|
|
|
|
// TraverseTuple10 converts a [tuple.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]] into a [IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
|
func TraverseTuple10[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], F9 ~func(A9) IO[T9], F10 ~func(A10) IO[T10], T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(tuple.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return func(t tuple.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return apply.TraverseTuple10(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
|
Ap[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T2],
|
|
Ap[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T3],
|
|
Ap[func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T4],
|
|
Ap[func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T5],
|
|
Ap[func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T6],
|
|
Ap[func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T7],
|
|
Ap[func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T8],
|
|
Ap[func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T9],
|
|
Ap[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T10],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
f9,
|
|
f10,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseSeqTuple10 converts a [tuple.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]] into a [IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
|
func TraverseSeqTuple10[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], F9 ~func(A9) IO[T9], F10 ~func(A10) IO[T10], T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(tuple.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return func(t tuple.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return apply.TraverseTuple10(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
|
ApSeq[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T2],
|
|
ApSeq[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T3],
|
|
ApSeq[func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T4],
|
|
ApSeq[func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T5],
|
|
ApSeq[func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T6],
|
|
ApSeq[func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T7],
|
|
ApSeq[func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T8],
|
|
ApSeq[func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T9],
|
|
ApSeq[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T10],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
f9,
|
|
f10,
|
|
t,
|
|
)
|
|
}
|
|
}
|
|
|
|
// TraverseParTuple10 converts a [tuple.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]] into a [IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
|
func TraverseParTuple10[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], F9 ~func(A9) IO[T9], F10 ~func(A10) IO[T10], T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(tuple.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return func(t tuple.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) IO[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
|
return apply.TraverseTuple10(
|
|
Map[T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
|
ApPar[func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T2],
|
|
ApPar[func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T3],
|
|
ApPar[func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T4],
|
|
ApPar[func(T6) func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T5],
|
|
ApPar[func(T7) func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T6],
|
|
ApPar[func(T8) func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T7],
|
|
ApPar[func(T9) func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T8],
|
|
ApPar[func(T10) tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T9],
|
|
ApPar[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T10],
|
|
f1,
|
|
f2,
|
|
f3,
|
|
f4,
|
|
f5,
|
|
f6,
|
|
f7,
|
|
f8,
|
|
f9,
|
|
f10,
|
|
t,
|
|
)
|
|
}
|
|
}
|