git.iko.soy/rowtype-yoga/psfp
on 2d91747 help sign in
53 lines 1.5 kB history raw
1// Generated by purs version 0.13.6
2"use strict";
3var $foreign = require("./foreign.js");
4var Control_Apply = require("../Control.Apply/index.js");
5var Control_Category = require("../Control.Category/index.js");
6var Data_Function = require("../Data.Function/index.js");
7var Discard = function (discard) {
8 this.discard = discard;
9};
10var Bind = function (Apply0, bind) {
11 this.Apply0 = Apply0;
12 this.bind = bind;
13};
14var discard = function (dict) {
15 return dict.discard;
16};
17var bindArray = new Bind(function ($dollar__unused) {
18 return Control_Apply.applyArray;
19}, $foreign.arrayBind);
20var bind = function (dict) {
21 return dict.bind;
22};
23var bindFlipped = function (dictBind) {
24 return Data_Function.flip(bind(dictBind));
25};
26var composeKleisliFlipped = function (dictBind) {
27 return function (f) {
28 return function (g) {
29 return function (a) {
30 return bindFlipped(dictBind)(f)(g(a));
31 };
32 };
33 };
34};
35var discardUnit = new Discard(function (dictBind) {
36 return bind(dictBind);
37});
38var join = function (dictBind) {
39 return function (m) {
40 return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));
41 };
42};
43module.exports = {
44 Bind: Bind,
45 bind: bind,
46 bindFlipped: bindFlipped,
47 Discard: Discard,
48 discard: discard,
49 join: join,
50 composeKleisliFlipped: composeKleisliFlipped,
51 bindArray: bindArray,
52 discardUnit: discardUnit
53};