package Ġarrow . effects Ċ Ċ import Ġarrow . core . Tuple 2 Ċ import Ġarrow . core . Tuple 3 Ċ import Ġarrow . effects . internal . par Map 2 Ċ import Ġarrow . effects . internal . par Map 3 Ċ import Ġkotlin . coroutines . experimental . Coroutine Context Ċ Ċ fun Ġ< A , ĠB , ĠC > ĠIO . Companion . parallel Map N ( ctx : ĠCor outine Context , Ġio A : ĠIO < A >, Ġio B : ĠIO < B >, Ġf : Ġ( A , ĠB ) Ġ-> ĠC ): ĠIO < C > Ġ= ĊĠ ĠIO . async ( IO . effect (). par Map 2 ( ctx , Ġio A , Ġio B , Ġf Ġ/* Ġsee Ġpar Map 2 Ġnotes Ġon Ġthis Ġparameter Ġ*/) Ġ{ Ġit . fix (). unsafe Run Sync () Ġ}) Ċ Ċ fun Ġ< A , ĠB , ĠC , ĠD > ĠIO . Companion . parallel Map N ( ctx : ĠCor outine Context , Ġio A : ĠIO < A >, Ġio B : ĠIO < B >, Ġio C : ĠIO < C >, Ġf : Ġ( A , ĠB , ĠC ) Ġ-> ĠD ): ĠIO < D > Ġ= ĊĠ ĠIO . async ( IO . effect (). par Map 3 ( ctx , Ġio A , Ġio B , Ġio C , Ġf Ġ/* Ġsee Ġpar Map 2 Ġnotes Ġon Ġthis Ġparameter Ġ*/) Ġ{ Ġit . fix (). unsafe Run Sync () Ġ}) Ċ Ċ fun Ġ< A , ĠB , ĠC , ĠD , ĠE > ĠIO . Companion . parallel Map N ( ctx : ĠCor outine Context , Ġio A : ĠIO < A >, Ġio B : ĠIO < B >, Ġio C : ĠIO < C >, Ġio D : ĠIO < D >, Ġf : Ġ( A , ĠB , ĠC , ĠD ) Ġ-> ĠE ): ĠIO < E > Ġ= ĊĠ Ġparallel Map N ( ctx , ĊĠĠĠ Ġparallel Map N ( ctx , Ġio A , Ġio B , Ġ:: Tuple 2 ), ĊĠĠĠ Ġparallel Map N ( ctx , Ġio C , Ġio D , Ġ:: Tuple 2 ) ĊĠ Ġ) Ġ{ Ġab , Ġcd Ġ-> Ġf ( ab . a , Ġab . b , Ġcd . a , Ġcd . b ) Ġ} Ċ Ċ fun Ġ< A , ĠB , ĠC , ĠD , ĠE , ĠF > ĠIO . Companion . parallel Map N ( ctx : ĠCor outine Context , Ġio A : ĠIO < A >, Ġio B : ĠIO < B >, Ġio C : ĠIO < C >, Ġio D : ĠIO < D >, Ġio E : ĠIO < E >, Ġf : Ġ( A , ĠB , ĠC , ĠD , ĠE ) Ġ-> ĠF ): ĠIO < F > Ġ= ĊĠ Ġparallel Map N ( ctx , ĊĠĠĠ Ġparallel Map N ( ctx , Ġio A , Ġio B , Ġio C , Ġ:: Tuple 3 ), ĊĠĠĠ Ġparallel Map N ( ctx , Ġio D , Ġio E , Ġ:: Tuple 2 ) ĊĠ Ġ) Ġ{ Ġabc , Ġde Ġ-> Ġf ( abc . a , Ġabc . b , Ġabc . c , Ġde . a , Ġde . b ) Ġ} Ċ Ċ fun Ġ< A , ĠB , ĠC , ĠD , ĠE , ĠF , ĠG > ĠIO . Companion . parallel Map N ( ctx : ĠCor outine Context , Ġio A : ĠIO < A >, Ġio B : ĠIO < B >, Ġio C : ĠIO < C >, Ġio D : ĠIO < D >, Ġio E : ĠIO < E >, Ġio F : ĠIO < F >, Ġf : Ġ( A , ĠB , ĠC , ĠD , ĠE , ĠF ) Ġ-> ĠG ): ĠIO < G > Ġ= ĊĠ Ġparallel Map N ( ctx , ĊĠĠĠ Ġparallel Map N ( ctx , Ġio A , Ġio B , Ġio C , Ġ:: Tuple 3 ), ĊĠĠĠ Ġparallel Map N ( ctx , Ġio D , Ġio E , Ġio F , Ġ:: Tuple 3 ) ĊĠ Ġ) Ġ{ Ġabc , Ġdef Ġ-> Ġf ( abc . a , Ġabc . b , Ġabc . c , Ġdef . a , Ġdef . b , Ġdef . c ) Ġ} Ċ Ċ fun Ġ< A , ĠB , ĠC , ĠD , ĠE , ĠF , ĠG , ĠH > ĠIO . Companion . parallel Map N ( ctx : ĠCor outine Context , Ġio A : ĠIO < A >, Ġio B : ĠIO < B >, Ġio C : ĠIO < C >, Ġio D : ĠIO < D >, Ġio E : ĠIO < E >, Ġio F : ĠIO < F >, Ġio G : ĠIO < G >, Ġf : Ġ( A , ĠB , ĠC , ĠD , ĠE , ĠF , ĠG ) Ġ-> ĠH ): ĠIO < H > Ġ= ĊĠ Ġparallel Map N ( ctx , ĊĠĠĠ Ġparallel Map N ( ctx , Ġio A , Ġio B , Ġio C , Ġ:: Tuple 3 ), ĊĠĠĠ Ġparallel Map N ( ctx , Ġio D , Ġio E , Ġ:: Tuple 2 ), ĊĠĠĠ Ġparallel Map N ( ctx , Ġio F , Ġio G , Ġ:: Tuple 2 ) ĊĠ Ġ) Ġ{ Ġabc , Ġde , Ġfg Ġ-> Ġf ( abc . a , Ġabc . b , Ġabc . c , Ġde . a , Ġde . b , Ġfg . a , Ġfg . b ) Ġ} Ċ Ċ fun Ġ< A , ĠB , ĠC , ĠD , ĠE , ĠF , ĠG , ĠH , ĠI > ĠIO . Companion . parallel Map N ( ctx : ĠCor outine Context , Ġio A : ĠIO < A >, Ġio B : ĠIO < B >, Ġio C : ĠIO < C >, Ġio D : ĠIO < D >, Ġio E : ĠIO < E >, Ġio F : ĠIO < F >, Ġio G : ĠIO < G >, Ġio H : ĠIO < H >, Ġf : Ġ( A , ĠB , ĠC , ĠD , ĠE , ĠF , ĠG , ĠH ) Ġ-> ĠI ): ĠIO < I > Ġ= ĊĠ Ġparallel Map N ( ctx , ĊĠĠĠ Ġparallel Map N ( ctx , Ġio A , Ġio B , Ġio C , Ġ:: Tuple 3 ), ĊĠĠĠ Ġparallel Map N ( ctx , Ġio D , Ġio E , Ġio F , Ġ:: Tuple 3 ), ĊĠĠĠ Ġparallel Map N ( ctx , Ġio G , Ġio H , Ġ:: Tuple 2 ) ĊĠ Ġ) Ġ{ Ġabc , Ġdef , Ġgh Ġ-> Ġf ( abc . a , Ġabc . b , Ġabc . c , Ġdef . a , Ġdef . b , Ġdef . c , Ġgh . a , Ġgh . b ) Ġ} Ċ Ċ fun Ġ< A , ĠB , ĠC , ĠD , ĠE , ĠF , ĠG , ĠH , ĠI , ĠJ > ĠIO . Companion . parallel Map N ( ctx : ĠCor outine Context , Ġio A : ĠIO < A >, Ġio B : ĠIO < B >, Ġio C : ĠIO < C >, Ġio D : ĠIO < D >, Ġio E : ĠIO < E >, Ġio F : ĠIO < F >, Ġio G : ĠIO < G >, Ġio H : ĠIO < H >, Ġio I : ĠIO < I >, Ġf : Ġ( A , ĠB , ĠC , ĠD , ĠE , ĠF , ĠG , ĠH , ĠI ) Ġ-> ĠJ ): ĠIO < J > Ġ= ĊĠ Ġparallel Map N ( ctx , ĊĠĠĠ Ġparallel Map N ( ctx , Ġio A , Ġio B , Ġio C , Ġ:: Tuple 3 ), ĊĠĠĠ Ġparallel Map N ( ctx , Ġio D , Ġio E , Ġio F , Ġ:: Tuple 3 ), ĊĠĠĠ Ġparallel Map N ( ctx , Ġio G , Ġio H , Ġio I , Ġ:: Tuple 3 ) ĊĠ Ġ) Ġ{ Ġabc , Ġdef , Ġg hi Ġ-> Ġf ( abc . a , Ġabc . b , Ġabc . c , Ġdef . a , Ġdef . b , Ġdef . c , Ġg hi . a , Ġg hi . b , Ġg hi . c ) Ġ} Ċ