// Generated by purs version 0.15.16 import * as Data_Boolean from "../Data.Boolean/index.js"; import * as Data_EuclideanRing from "../Data.EuclideanRing/index.js"; import * as Data_Ordering from "../Data.Ordering/index.js"; import * as Data_Semigroup from "../Data.Semigroup/index.js"; import * as Data_Symbol from "../Data.Symbol/index.js"; import * as Data_Unit from "../Data.Unit/index.js"; import * as Record_Unsafe from "../Record.Unsafe/index.js"; import * as Type_Proxy from "../Type.Proxy/index.js"; var semigroupRecord = /* #__PURE__ */ Data_Semigroup.semigroupRecord(); var mod = /* #__PURE__ */ Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt); var div = /* #__PURE__ */ Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt); var monoidUnit = { mempty: Data_Unit.unit, Semigroup0: function () { return Data_Semigroup.semigroupUnit; } }; var monoidString = { mempty: "", Semigroup0: function () { return Data_Semigroup.semigroupString; } }; var monoidRecordNil = { memptyRecord: function (v) { return {}; }, SemigroupRecord0: function () { return Data_Semigroup.semigroupRecordNil; } }; var monoidOrdering = /* #__PURE__ */ (function () { return { mempty: Data_Ordering.EQ.value, Semigroup0: function () { return Data_Ordering.semigroupOrdering; } }; })(); var monoidArray = { mempty: [ ], Semigroup0: function () { return Data_Semigroup.semigroupArray; } }; var memptyRecord = function (dict) { return dict.memptyRecord; }; var monoidRecord = function () { return function (dictMonoidRecord) { var semigroupRecord1 = semigroupRecord(dictMonoidRecord.SemigroupRecord0()); return { mempty: memptyRecord(dictMonoidRecord)(Type_Proxy["Proxy"].value), Semigroup0: function () { return semigroupRecord1; } }; }; }; var mempty = function (dict) { return dict.mempty; }; var monoidFn = function (dictMonoid) { var mempty1 = mempty(dictMonoid); var semigroupFn = Data_Semigroup.semigroupFn(dictMonoid.Semigroup0()); return { mempty: function (v) { return mempty1; }, Semigroup0: function () { return semigroupFn; } }; }; var monoidRecordCons = function (dictIsSymbol) { var reflectSymbol = Data_Symbol.reflectSymbol(dictIsSymbol); var semigroupRecordCons = Data_Semigroup.semigroupRecordCons(dictIsSymbol)(); return function (dictMonoid) { var mempty1 = mempty(dictMonoid); var Semigroup0 = dictMonoid.Semigroup0(); return function () { return function (dictMonoidRecord) { var memptyRecord1 = memptyRecord(dictMonoidRecord); var semigroupRecordCons1 = semigroupRecordCons(dictMonoidRecord.SemigroupRecord0())(Semigroup0); return { memptyRecord: function (v) { var tail = memptyRecord1(Type_Proxy["Proxy"].value); var key = reflectSymbol(Type_Proxy["Proxy"].value); var insert = Record_Unsafe.unsafeSet(key); return insert(mempty1)(tail); }, SemigroupRecord0: function () { return semigroupRecordCons1; } }; }; }; }; }; var power = function (dictMonoid) { var mempty1 = mempty(dictMonoid); var append = Data_Semigroup.append(dictMonoid.Semigroup0()); return function (x) { var go = function (p) { if (p <= 0) { return mempty1; }; if (p === 1) { return x; }; if (mod(p)(2) === 0) { var x$prime = go(div(p)(2)); return append(x$prime)(x$prime); }; if (Data_Boolean.otherwise) { var x$prime = go(div(p)(2)); return append(x$prime)(append(x$prime)(x)); }; throw new Error("Failed pattern match at Data.Monoid (line 88, column 3 - line 88, column 17): " + [ p.constructor.name ]); }; return go; }; }; var guard = function (dictMonoid) { var mempty1 = mempty(dictMonoid); return function (v) { return function (v1) { if (v) { return v1; }; if (!v) { return mempty1; }; throw new Error("Failed pattern match at Data.Monoid (line 96, column 1 - line 96, column 49): " + [ v.constructor.name, v1.constructor.name ]); }; }; }; export { mempty, power, guard, memptyRecord, monoidUnit, monoidOrdering, monoidFn, monoidString, monoidArray, monoidRecord, monoidRecordNil, monoidRecordCons }; //# sourceMappingURL=index.js.map