1// Generated by purs version 0.15.16
2import * as Control_Applicative from "../Control.Applicative/index.js";
3import * as Control_Bind from "../Control.Bind/index.js";
4import * as Control_Monad_Cont_Trans from "../Control.Monad.Cont.Trans/index.js";
5import * as Control_Monad_Except_Trans from "../Control.Monad.Except.Trans/index.js";
6import * as Control_Monad_Maybe_Trans from "../Control.Monad.Maybe.Trans/index.js";
7import * as Control_Monad_Reader_Trans from "../Control.Monad.Reader.Trans/index.js";
8import * as Control_Monad_Writer_Trans from "../Control.Monad.Writer.Trans/index.js";
9import * as Data_Either from "../Data.Either/index.js";
10import * as Data_Functor from "../Data.Functor/index.js";
11import * as Data_Functor_Compose from "../Data.Functor.Compose/index.js";
12import * as Data_Functor_Costar from "../Data.Functor.Costar/index.js";
13import * as Data_Maybe from "../Data.Maybe/index.js";
14import * as Data_Profunctor_Star from "../Data.Profunctor.Star/index.js";
15import * as Data_Unit from "../Data.Unit/index.js";
16import * as Effect_Class from "../Effect.Class/index.js";
17import * as Effect_Ref from "../Effect.Ref/index.js";
18var discard = /* #__PURE__ */ Control_Bind.discard(Control_Bind.discardUnit);
19var ParCont = function (x) {
22var sequential = function (dict) {
23 return dict.sequential;
25var parallel = function (dict) {
29 Coercible0: function () {
33var monadParWriterT = function (dictMonoid) {
34 var applyWriterT = Control_Monad_Writer_Trans.applyWriterT(dictMonoid.Semigroup0());
35 return function (dictParallel) {
36 var applyWriterT1 = applyWriterT(dictParallel.Apply0());
37 var applyWriterT2 = applyWriterT(dictParallel.Apply1());
39 parallel: Control_Monad_Writer_Trans.mapWriterT(parallel(dictParallel)),
40 sequential: Control_Monad_Writer_Trans.mapWriterT(sequential(dictParallel)),
50var monadParStar = function (dictParallel) {
51 var parallel1 = parallel(dictParallel);
52 var sequential1 = sequential(dictParallel);
53 var applyStar = Data_Profunctor_Star.applyStar(dictParallel.Apply0());
54 var applyStar1 = Data_Profunctor_Star.applyStar(dictParallel.Apply1());
56 parallel: function (v) {
57 return function ($124) {
58 return parallel1(v($124));
61 sequential: function (v) {
62 return function ($125) {
63 return sequential1(v($125));
74var monadParReaderT = function (dictParallel) {
75 var applyReaderT = Control_Monad_Reader_Trans.applyReaderT(dictParallel.Apply0());
76 var applyReaderT1 = Control_Monad_Reader_Trans.applyReaderT(dictParallel.Apply1());
78 parallel: Control_Monad_Reader_Trans.mapReaderT(parallel(dictParallel)),
79 sequential: Control_Monad_Reader_Trans.mapReaderT(sequential(dictParallel)),
88var monadParMaybeT = function (dictParallel) {
89 var parallel1 = parallel(dictParallel);
90 var sequential1 = sequential(dictParallel);
91 var applyCompose = Data_Functor_Compose.applyCompose(dictParallel.Apply1())(Data_Maybe.applyMaybe);
92 return function (dictMonad) {
93 var applyMaybeT = Control_Monad_Maybe_Trans.applyMaybeT(dictMonad);
95 parallel: function (v) {
98 sequential: function (v) {
99 return sequential1(v);
101 Apply0: function () {
104 Apply1: function () {
110var monadParExceptT = function (dictParallel) {
111 var parallel1 = parallel(dictParallel);
112 var sequential1 = sequential(dictParallel);
113 var applyCompose = Data_Functor_Compose.applyCompose(dictParallel.Apply1())(Data_Either.applyEither);
114 return function (dictMonad) {
115 var applyExceptT = Control_Monad_Except_Trans.applyExceptT(dictMonad);
117 parallel: function (v) {
120 sequential: function (v) {
121 return sequential1(v);
123 Apply0: function () {
126 Apply1: function () {
132var monadParCostar = function (dictParallel) {
133 var sequential1 = sequential(dictParallel);
134 var parallel1 = parallel(dictParallel);
136 parallel: function (v) {
137 return function ($126) {
138 return v(sequential1($126));
141 sequential: function (v) {
142 return function ($127) {
143 return v(parallel1($127));
146 Apply0: function () {
147 return Data_Functor_Costar.applyCostar;
149 Apply1: function () {
150 return Data_Functor_Costar.applyCostar;
154var monadParParCont = function (dictMonadEffect) {
155 var applyContT = Control_Monad_Cont_Trans.applyContT(((dictMonadEffect.Monad0()).Bind1()).Apply0());
158 sequential: function (v) {
161 Apply0: function () {
164 Apply1: function () {
165 return applyParCont(dictMonadEffect);
169var functorParCont = function (dictMonadEffect) {
170 var map = Data_Functor.map(Control_Monad_Cont_Trans.functorContT((((dictMonadEffect.Monad0()).Bind1()).Apply0()).Functor0()));
173 var $128 = parallel(monadParParCont(dictMonadEffect));
175 var $130 = sequential(monadParParCont(dictMonadEffect));
176 return function ($131) {
177 return $128($129($130($131)));
182var applyParCont = function (dictMonadEffect) {
183 var Bind1 = (dictMonadEffect.Monad0()).Bind1();
184 var bind = Control_Bind.bind(Bind1);
185 var liftEffect = Effect_Class.liftEffect(dictMonadEffect);
186 var discard1 = discard(Bind1);
188 apply: function (v) {
189 return function (v1) {
190 return function (k) {
191 return bind(liftEffect(Effect_Ref["new"](Data_Maybe.Nothing.value)))(function (ra) {
192 return bind(liftEffect(Effect_Ref["new"](Data_Maybe.Nothing.value)))(function (rb) {
193 return discard1(Control_Monad_Cont_Trans.runContT(v)(function (a) {
194 return bind(liftEffect(Effect_Ref.read(rb)))(function (mb) {
195 if (mb instanceof Data_Maybe.Nothing) {
196 return liftEffect(Effect_Ref.write(new Data_Maybe.Just(a))(ra));
198 if (mb instanceof Data_Maybe.Just) {
199 return k(a(mb.value0));
201 throw new Error("Failed pattern match at Control.Parallel.Class (line 83, column 7 - line 85, column 26): " + [ mb.constructor.name ]);
204 return Control_Monad_Cont_Trans.runContT(v1)(function (b) {
205 return bind(liftEffect(Effect_Ref.read(ra)))(function (ma) {
206 if (ma instanceof Data_Maybe.Nothing) {
207 return liftEffect(Effect_Ref.write(new Data_Maybe.Just(b))(rb));
209 if (ma instanceof Data_Maybe.Just) {
210 return k(ma.value0(b));
212 throw new Error("Failed pattern match at Control.Parallel.Class (line 89, column 7 - line 91, column 26): " + [ ma.constructor.name ]);
221 Functor0: function () {
222 return functorParCont(dictMonadEffect);
226var applicativeParCont = function (dictMonadEffect) {
227 var applyParCont1 = applyParCont(dictMonadEffect);
230 var $132 = parallel(monadParParCont(dictMonadEffect));
231 var $133 = Control_Applicative.pure(Control_Monad_Cont_Trans.applicativeContT((dictMonadEffect.Monad0()).Applicative0()));
232 return function ($134) {
233 return $132($133($134));
236 Apply0: function () {
237 return applyParCont1;
241var altParCont = function (dictMonadEffect) {
242 var Monad0 = dictMonadEffect.Monad0();
243 var Bind1 = Monad0.Bind1();
244 var bind = Control_Bind.bind(Bind1);
245 var liftEffect = Effect_Class.liftEffect(dictMonadEffect);
246 var discard1 = discard(Bind1);
247 var pure = Control_Applicative.pure(Monad0.Applicative0());
248 var functorParCont1 = functorParCont(dictMonadEffect);
251 return function (v1) {
252 return function (k) {
253 return bind(liftEffect(Effect_Ref["new"](false)))(function (done) {
254 return discard1(Control_Monad_Cont_Trans.runContT(v)(function (a) {
255 return bind(liftEffect(Effect_Ref.read(done)))(function (b) {
257 return pure(Data_Unit.unit);
259 return discard1(liftEffect(Effect_Ref.write(true)(done)))(function () {
264 return Control_Monad_Cont_Trans.runContT(v1)(function (a) {
265 return bind(liftEffect(Effect_Ref.read(done)))(function (b) {
267 return pure(Data_Unit.unit);
269 return discard1(liftEffect(Effect_Ref.write(true)(done)))(function () {
279 Functor0: function () {
280 return functorParCont1;
284var plusParCont = function (dictMonadEffect) {
285 var pure = Control_Applicative.pure((dictMonadEffect.Monad0()).Applicative0());
286 var altParCont1 = altParCont(dictMonadEffect);
288 empty: function (v) {
289 return pure(Data_Unit.unit);
296var alternativeParCont = function (dictMonadEffect) {
297 var applicativeParCont1 = applicativeParCont(dictMonadEffect);
298 var plusParCont1 = plusParCont(dictMonadEffect);
300 Applicative0: function () {
301 return applicativeParCont1;
327//# sourceMappingURL=index.js.map
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list