purs-pkg-deps
Version:
Query package dependencies in PureScript package-sets
53 lines (52 loc) • 1.7 kB
JavaScript
// Generated by purs version 0.14.3
;
var Control_Applicative = require("../Control.Applicative/index.js");
var Control_Bind = require("../Control.Bind/index.js");
var Data_Tuple = require("../Data.Tuple/index.js");
var MonadTell = function (Monad1, Semigroup0, tell) {
this.Monad1 = Monad1;
this.Semigroup0 = Semigroup0;
this.tell = tell;
};
var MonadWriter = function (MonadTell1, Monoid0, listen, pass) {
this.MonadTell1 = MonadTell1;
this.Monoid0 = Monoid0;
this.listen = listen;
this.pass = pass;
};
var tell = function (dict) {
return dict.tell;
};
var pass = function (dict) {
return dict.pass;
};
var listen = function (dict) {
return dict.listen;
};
var listens = function (dictMonadWriter) {
return function (f) {
return function (m) {
return Control_Bind.bind(((dictMonadWriter.MonadTell1()).Monad1()).Bind1())(listen(dictMonadWriter)(m))(function (v) {
return Control_Applicative.pure(((dictMonadWriter.MonadTell1()).Monad1()).Applicative0())(new Data_Tuple.Tuple(v.value0, f(v.value1)));
});
};
};
};
var censor = function (dictMonadWriter) {
return function (f) {
return function (m) {
return pass(dictMonadWriter)(Control_Bind.bind(((dictMonadWriter.MonadTell1()).Monad1()).Bind1())(m)(function (a) {
return Control_Applicative.pure(((dictMonadWriter.MonadTell1()).Monad1()).Applicative0())(new Data_Tuple.Tuple(a, f));
}));
};
};
};
module.exports = {
listen: listen,
pass: pass,
tell: tell,
MonadTell: MonadTell,
MonadWriter: MonadWriter,
listens: listens,
censor: censor
};