purs-pkg-deps
Version:
Query package dependencies in PureScript package-sets
272 lines (270 loc) • 9.63 kB
JavaScript
// Generated by purs version 0.14.3
;
var Control_Bind = require("../Control.Bind/index.js");
var Control_Monad = require("../Control.Monad/index.js");
var Data_Bifunctor = require("../Data.Bifunctor/index.js");
var Data_Either = require("../Data.Either/index.js");
var Data_Functor = require("../Data.Functor/index.js");
var Data_Identity = require("../Data.Identity/index.js");
var Data_Maybe = require("../Data.Maybe/index.js");
var Data_Monoid = require("../Data.Monoid/index.js");
var Data_Semigroup = require("../Data.Semigroup/index.js");
var Data_Unit = require("../Data.Unit/index.js");
var Effect = require("../Effect/index.js");
var Effect_Ref = require("../Effect.Ref/index.js");
var Loop = (function () {
function Loop(value0) {
this.value0 = value0;
};
Loop.create = function (value0) {
return new Loop(value0);
};
return Loop;
})();
var Done = (function () {
function Done(value0) {
this.value0 = value0;
};
Done.create = function (value0) {
return new Done(value0);
};
return Done;
})();
var MonadRec = function (Monad0, tailRecM) {
this.Monad0 = Monad0;
this.tailRecM = tailRecM;
};
var tailRecM = function (dict) {
return dict.tailRecM;
};
var tailRecM2 = function (dictMonadRec) {
return function (f) {
return function (a) {
return function (b) {
return tailRecM(dictMonadRec)(function (o) {
return f(o.a)(o.b);
})({
a: a,
b: b
});
};
};
};
};
var tailRecM3 = function (dictMonadRec) {
return function (f) {
return function (a) {
return function (b) {
return function (c) {
return tailRecM(dictMonadRec)(function (o) {
return f(o.a)(o.b)(o.c);
})({
a: a,
b: b,
c: c
});
};
};
};
};
};
var untilJust = function (dictMonadRec) {
return function (m) {
return tailRecM(dictMonadRec)(function (v) {
return Data_Functor.mapFlipped((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(m)(function (v1) {
if (v1 instanceof Data_Maybe.Nothing) {
return new Loop(Data_Unit.unit);
};
if (v1 instanceof Data_Maybe.Just) {
return new Done(v1.value0);
};
throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 155, column 43 - line 157, column 19): " + [ v1.constructor.name ]);
});
})(Data_Unit.unit);
};
};
var whileJust = function (dictMonoid) {
return function (dictMonadRec) {
return function (m) {
return tailRecM(dictMonadRec)(function (v) {
return Data_Functor.mapFlipped((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(m)(function (v1) {
if (v1 instanceof Data_Maybe.Nothing) {
return new Done(v);
};
if (v1 instanceof Data_Maybe.Just) {
return Loop.create(Data_Semigroup.append(dictMonoid.Semigroup0())(v)(v1.value0));
};
throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 148, column 45 - line 150, column 26): " + [ v1.constructor.name ]);
});
})(Data_Monoid.mempty(dictMonoid));
};
};
};
var tailRec = function (f) {
var go = function ($copy_v) {
var $tco_done = false;
var $tco_result;
function $tco_loop(v) {
if (v instanceof Loop) {
$copy_v = f(v.value0);
return;
};
if (v instanceof Done) {
$tco_done = true;
return v.value0;
};
throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 93, column 3 - line 93, column 25): " + [ v.constructor.name ]);
};
while (!$tco_done) {
$tco_result = $tco_loop($copy_v);
};
return $tco_result;
};
return function ($58) {
return go(f($58));
};
};
var monadRecMaybe = new MonadRec(function () {
return Data_Maybe.monadMaybe;
}, function (f) {
return function (a0) {
var g = function (v) {
if (v instanceof Data_Maybe.Nothing) {
return new Done(Data_Maybe.Nothing.value);
};
if (v instanceof Data_Maybe.Just && v.value0 instanceof Loop) {
return new Loop(f(v.value0.value0));
};
if (v instanceof Data_Maybe.Just && v.value0 instanceof Done) {
return new Done(new Data_Maybe.Just(v.value0.value0));
};
throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 129, column 7 - line 129, column 31): " + [ v.constructor.name ]);
};
return tailRec(g)(f(a0));
};
});
var monadRecIdentity = new MonadRec(function () {
return Data_Identity.monadIdentity;
}, function (f) {
var runIdentity = function (v) {
return v;
};
var $59 = tailRec(function ($61) {
return runIdentity(f($61));
});
return function ($60) {
return Data_Identity.Identity($59($60));
};
});
var monadRecFunction = new MonadRec(function () {
return Control_Monad.monadFn;
}, function (f) {
return function (a0) {
return function (e) {
return tailRec(function (a) {
return f(a)(e);
})(a0);
};
};
});
var monadRecEither = new MonadRec(function () {
return Data_Either.monadEither;
}, function (f) {
return function (a0) {
var g = function (v) {
if (v instanceof Data_Either.Left) {
return new Done(new Data_Either.Left(v.value0));
};
if (v instanceof Data_Either.Right && v.value0 instanceof Loop) {
return new Loop(f(v.value0.value0));
};
if (v instanceof Data_Either.Right && v.value0 instanceof Done) {
return new Done(new Data_Either.Right(v.value0.value0));
};
throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 121, column 7 - line 121, column 33): " + [ v.constructor.name ]);
};
return tailRec(g)(f(a0));
};
});
var monadRecEffect = new MonadRec(function () {
return Effect.monadEffect;
}, function (f) {
return function (a) {
var fromDone = function (v) {
if (v instanceof Done) {
return v.value0;
};
throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 113, column 30 - line 113, column 44): " + [ v.constructor.name ]);
};
return function __do() {
var r = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref["new"])(f(a))();
(function () {
while (!(function __do() {
var v = Effect_Ref.read(r)();
if (v instanceof Loop) {
var e = f(v.value0)();
Effect_Ref.write(e)(r)();
return false;
};
if (v instanceof Done) {
return true;
};
throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 104, column 22 - line 109, column 28): " + [ v.constructor.name ]);
})()) {
};
return {};
})();
return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(r))();
};
};
});
var functorStep = new Data_Functor.Functor(function (f) {
return function (m) {
if (m instanceof Loop) {
return new Loop(m.value0);
};
if (m instanceof Done) {
return new Done(f(m.value0));
};
throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 27, column 1 - line 27, column 48): " + [ m.constructor.name ]);
};
});
var forever = function (dictMonadRec) {
return function (ma) {
return tailRecM(dictMonadRec)(function (u) {
return Data_Functor.voidRight((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(new Loop(u))(ma);
})(Data_Unit.unit);
};
};
var bifunctorStep = new Data_Bifunctor.Bifunctor(function (v) {
return function (v1) {
return function (v2) {
if (v2 instanceof Loop) {
return new Loop(v(v2.value0));
};
if (v2 instanceof Done) {
return new Done(v1(v2.value0));
};
throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 29, column 1 - line 31, column 34): " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);
};
};
});
module.exports = {
Loop: Loop,
Done: Done,
MonadRec: MonadRec,
tailRec: tailRec,
tailRecM: tailRecM,
tailRecM2: tailRecM2,
tailRecM3: tailRecM3,
forever: forever,
whileJust: whileJust,
untilJust: untilJust,
functorStep: functorStep,
bifunctorStep: bifunctorStep,
monadRecIdentity: monadRecIdentity,
monadRecEffect: monadRecEffect,
monadRecFunction: monadRecFunction,
monadRecEither: monadRecEither,
monadRecMaybe: monadRecMaybe
};