purs-pkg-deps
Version:
Query package dependencies in PureScript package-sets
192 lines (191 loc) • 6.65 kB
JavaScript
// Generated by purs version 0.14.3
;
var $foreign = require("./foreign.js");
var Data_Symbol = require("../Data.Symbol/index.js");
var Data_Unit = require("../Data.Unit/index.js");
var Record_Unsafe = require("../Record.Unsafe/index.js");
var Type_Proxy = require("../Type.Proxy/index.js");
var SemiringRecord = function (addRecord, mulRecord, oneRecord, zeroRecord) {
this.addRecord = addRecord;
this.mulRecord = mulRecord;
this.oneRecord = oneRecord;
this.zeroRecord = zeroRecord;
};
var Semiring = function (add, mul, one, zero) {
this.add = add;
this.mul = mul;
this.one = one;
this.zero = zero;
};
var zeroRecord = function (dict) {
return dict.zeroRecord;
};
var zero = function (dict) {
return dict.zero;
};
var semiringUnit = new Semiring(function (v) {
return function (v1) {
return Data_Unit.unit;
};
}, function (v) {
return function (v1) {
return Data_Unit.unit;
};
}, Data_Unit.unit, Data_Unit.unit);
var semiringRecordNil = new SemiringRecord(function (v) {
return function (v1) {
return function (v2) {
return {};
};
};
}, function (v) {
return function (v1) {
return function (v2) {
return {};
};
};
}, function (v) {
return function (v1) {
return {};
};
}, function (v) {
return function (v1) {
return {};
};
});
var semiringProxy3 = new Semiring(function (v) {
return function (v1) {
return Type_Proxy.Proxy3.value;
};
}, function (v) {
return function (v1) {
return Type_Proxy.Proxy3.value;
};
}, Type_Proxy.Proxy3.value, Type_Proxy.Proxy3.value);
var semiringProxy2 = new Semiring(function (v) {
return function (v1) {
return Type_Proxy.Proxy2.value;
};
}, function (v) {
return function (v1) {
return Type_Proxy.Proxy2.value;
};
}, Type_Proxy.Proxy2.value, Type_Proxy.Proxy2.value);
var semiringProxy = new Semiring(function (v) {
return function (v1) {
return Type_Proxy["Proxy"].value;
};
}, function (v) {
return function (v1) {
return Type_Proxy["Proxy"].value;
};
}, Type_Proxy["Proxy"].value, Type_Proxy["Proxy"].value);
var semiringNumber = new Semiring($foreign.numAdd, $foreign.numMul, 1.0, 0.0);
var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);
var oneRecord = function (dict) {
return dict.oneRecord;
};
var one = function (dict) {
return dict.one;
};
var mulRecord = function (dict) {
return dict.mulRecord;
};
var mul = function (dict) {
return dict.mul;
};
var addRecord = function (dict) {
return dict.addRecord;
};
var semiringRecord = function (dictRowToList) {
return function (dictSemiringRecord) {
return new Semiring(addRecord(dictSemiringRecord)(Type_Proxy["Proxy"].value), mulRecord(dictSemiringRecord)(Type_Proxy["Proxy"].value), oneRecord(dictSemiringRecord)(Type_Proxy["Proxy"].value)(Type_Proxy["Proxy"].value), zeroRecord(dictSemiringRecord)(Type_Proxy["Proxy"].value)(Type_Proxy["Proxy"].value));
};
};
var add = function (dict) {
return dict.add;
};
var semiringFn = function (dictSemiring) {
return new Semiring(function (f) {
return function (g) {
return function (x) {
return add(dictSemiring)(f(x))(g(x));
};
};
}, function (f) {
return function (g) {
return function (x) {
return mul(dictSemiring)(f(x))(g(x));
};
};
}, function (v) {
return one(dictSemiring);
}, function (v) {
return zero(dictSemiring);
});
};
var semiringRecordCons = function (dictIsSymbol) {
return function (dictCons) {
return function (dictSemiringRecord) {
return function (dictSemiring) {
return new SemiringRecord(function (v) {
return function (ra) {
return function (rb) {
var tail = addRecord(dictSemiringRecord)(Type_Proxy["Proxy"].value)(ra)(rb);
var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy["Proxy"].value);
var insert = Record_Unsafe.unsafeSet(key);
var get = Record_Unsafe.unsafeGet(key);
return insert(add(dictSemiring)(get(ra))(get(rb)))(tail);
};
};
}, function (v) {
return function (ra) {
return function (rb) {
var tail = mulRecord(dictSemiringRecord)(Type_Proxy["Proxy"].value)(ra)(rb);
var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy["Proxy"].value);
var insert = Record_Unsafe.unsafeSet(key);
var get = Record_Unsafe.unsafeGet(key);
return insert(mul(dictSemiring)(get(ra))(get(rb)))(tail);
};
};
}, function (v) {
return function (v1) {
var tail = oneRecord(dictSemiringRecord)(Type_Proxy["Proxy"].value)(Type_Proxy["Proxy"].value);
var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy["Proxy"].value);
var insert = Record_Unsafe.unsafeSet(key);
return insert(one(dictSemiring))(tail);
};
}, function (v) {
return function (v1) {
var tail = zeroRecord(dictSemiringRecord)(Type_Proxy["Proxy"].value)(Type_Proxy["Proxy"].value);
var key = Data_Symbol.reflectSymbol(dictIsSymbol)(Type_Proxy["Proxy"].value);
var insert = Record_Unsafe.unsafeSet(key);
return insert(zero(dictSemiring))(tail);
};
});
};
};
};
};
module.exports = {
Semiring: Semiring,
add: add,
zero: zero,
mul: mul,
one: one,
SemiringRecord: SemiringRecord,
addRecord: addRecord,
mulRecord: mulRecord,
oneRecord: oneRecord,
zeroRecord: zeroRecord,
semiringInt: semiringInt,
semiringNumber: semiringNumber,
semiringFn: semiringFn,
semiringUnit: semiringUnit,
semiringProxy: semiringProxy,
semiringProxy2: semiringProxy2,
semiringProxy3: semiringProxy3,
semiringRecord: semiringRecord,
semiringRecordNil: semiringRecordNil,
semiringRecordCons: semiringRecordCons
};