purs-pkg-deps
Version:
Query package dependencies in PureScript package-sets
366 lines (365 loc) • 13.1 kB
JavaScript
// Generated by purs version 0.14.3
;
var Control_Bind = require("../Control.Bind/index.js");
var Data_Char = require("../Data.Char/index.js");
var Data_Either = require("../Data.Either/index.js");
var Data_Foldable = require("../Data.Foldable/index.js");
var Data_Generic_Rep = require("../Data.Generic.Rep/index.js");
var Data_Lazy = require("../Data.Lazy/index.js");
var Data_List = require("../Data.List/index.js");
var Data_List_Types = require("../Data.List.Types/index.js");
var Data_Maybe = require("../Data.Maybe/index.js");
var Data_String_CodeUnits = require("../Data.String.CodeUnits/index.js");
var Data_Tuple = require("../Data.Tuple/index.js");
var Data_Unfoldable = require("../Data.Unfoldable/index.js");
var Data_Unit = require("../Data.Unit/index.js");
var Tabulate = function (tabulate) {
this.tabulate = tabulate;
};
var NatTrie = (function () {
function NatTrie(value0, value1, value2) {
this.value0 = value0;
this.value1 = value1;
this.value2 = value2;
};
NatTrie.create = function (value0) {
return function (value1) {
return function (value2) {
return new NatTrie(value0, value1, value2);
};
};
};
return NatTrie;
})();
var tabulateUnit = new Tabulate(function (f) {
var r = Data_Lazy.defer(function (v) {
return f(Data_Unit.unit);
});
return function (v) {
return r;
};
});
var tabulateNoArguments = new Tabulate(function (f) {
var r = Data_Lazy.defer(function (v) {
return f(Data_Generic_Rep.NoArguments.value);
});
return function (v) {
return r;
};
});
var tabulateNat = new Tabulate((function () {
var tabulateImpl = function (f) {
var walk = function (v) {
return function (v1) {
if (v instanceof Data_List_Types.Nil) {
return v1.value0;
};
if (v instanceof Data_List_Types.Cons && !v.value0) {
return Control_Bind.bind(Data_Lazy.bindLazy)(v1.value1)(walk(v.value1));
};
if (v instanceof Data_List_Types.Cons && v.value0) {
return Control_Bind.bind(Data_Lazy.bindLazy)(v1.value2)(walk(v.value1));
};
throw new Error("Failed pattern match at Data.Function.Memoize (line 137, column 11 - line 137, column 64): " + [ v.constructor.name, v1.constructor.name ]);
};
};
var build = function (n) {
return new NatTrie(Data_Lazy.defer(function (v) {
return f(n);
}), Data_Lazy.defer(function (v) {
return build(n * 2 | 0);
}), Data_Lazy.defer(function (v) {
return build((n * 2 | 0) + 1 | 0);
}));
};
var trie = build(0);
var bits = (function () {
var bits$prime = function ($copy_acc) {
return function ($copy_v) {
var $tco_var_acc = $copy_acc;
var $tco_done = false;
var $tco_result;
function $tco_loop(acc, v) {
if (v === 0) {
$tco_done = true;
return acc;
};
$tco_var_acc = new Data_List_Types.Cons((v & 1) !== 0, acc);
$copy_v = v >>> 1;
return;
};
while (!$tco_done) {
$tco_result = $tco_loop($tco_var_acc, $copy_v);
};
return $tco_result;
};
};
return bits$prime(Data_List_Types.Nil.value);
})();
var go = function (n) {
return walk(bits(n))(trie);
};
return go;
};
return tabulateImpl;
})());
var tabulateBool = new Tabulate(function (f) {
var r2 = Data_Lazy.defer(function (v) {
return f(false);
});
var r1 = Data_Lazy.defer(function (v) {
return f(true);
});
return function (b) {
if (b) {
return r1;
};
return r2;
};
});
var tabulate = function (dict) {
return dict.tabulate;
};
var tabulateArgument = function (dictTabulate) {
return new Tabulate(function (f) {
var g = tabulate(dictTabulate)(function ($85) {
return f(Data_Generic_Rep.Argument($85));
});
return function ($86) {
return g((function (v) {
return v;
})($86));
};
});
};
var tabulateChar = new Tabulate(function (f) {
var f1 = tabulate(tabulateNat)((function () {
var $87 = Data_Maybe.fromJust();
return function ($88) {
return f($87(Data_Char.fromCharCode($88)));
};
})());
return function ($89) {
return f1(Data_Char.toCharCode($89));
};
});
var tabulateConstructor = function (dictTabulate) {
return new Tabulate(function (f) {
var g = tabulate(dictTabulate)(function ($90) {
return f(Data_Generic_Rep.Constructor($90));
});
return function ($91) {
return g((function (v) {
return v;
})($91));
};
});
};
var tabulateEither = function (dictTabulate) {
return function (dictTabulate1) {
return new Tabulate(function (f) {
var r = tabulate(dictTabulate1)(function ($92) {
return f(Data_Either.Right.create($92));
});
var l = tabulate(dictTabulate)(function ($93) {
return f(Data_Either.Left.create($93));
});
return function (v) {
if (v instanceof Data_Either.Left) {
return l(v.value0);
};
if (v instanceof Data_Either.Right) {
return r(v.value0);
};
throw new Error("Failed pattern match at Data.Function.Memoize (line 74, column 19 - line 76, column 35): " + [ v.constructor.name ]);
};
});
};
};
var tabulateMaybe = function (dictTabulate) {
return new Tabulate(function (f) {
var n = Data_Lazy.defer(function (v) {
return f(Data_Maybe.Nothing.value);
});
var j = tabulate(dictTabulate)(function ($94) {
return f(Data_Maybe.Just.create($94));
});
return function (v) {
if (v instanceof Data_Maybe.Nothing) {
return n;
};
if (v instanceof Data_Maybe.Just) {
return j(v.value0);
};
throw new Error("Failed pattern match at Data.Function.Memoize (line 67, column 19 - line 69, column 35): " + [ v.constructor.name ]);
};
});
};
var tabulateProduct = function (dictTabulate) {
return function (dictTabulate1) {
return new Tabulate(function (f) {
var f$prime = tabulate(dictTabulate)(function (a) {
return tabulate(dictTabulate1)(function (b) {
return f(new Data_Generic_Rep.Product(a, b));
});
});
return function (v) {
return Control_Bind.bind(Data_Lazy.bindLazy)(f$prime(v.value0))(function (g) {
return g(v.value1);
});
};
});
};
};
var tabulateSum = function (dictTabulate) {
return function (dictTabulate1) {
return new Tabulate(function (f) {
var r = tabulate(dictTabulate1)(function ($95) {
return f(Data_Generic_Rep.Inr.create($95));
});
var l = tabulate(dictTabulate)(function ($96) {
return f(Data_Generic_Rep.Inl.create($96));
});
return function (v) {
if (v instanceof Data_Generic_Rep.Inl) {
return l(v.value0);
};
if (v instanceof Data_Generic_Rep.Inr) {
return r(v.value0);
};
throw new Error("Failed pattern match at Data.Function.Memoize (line 81, column 19 - line 83, column 33): " + [ v.constructor.name ]);
};
});
};
};
var tabulateTuple = function (dictTabulate) {
return function (dictTabulate1) {
return new Tabulate(function (f) {
var f$prime = tabulate(dictTabulate)(function (a) {
return tabulate(dictTabulate1)(function (b) {
return f(new Data_Tuple.Tuple(a, b));
});
});
return function (v) {
return Control_Bind.bind(Data_Lazy.bindLazy)(f$prime(v.value0))(function (g) {
return g(v.value1);
});
};
});
};
};
var tabulateList = function (dictTabulate) {
return new Tabulate(function (f) {
var toList = function (v) {
if (v instanceof Data_Maybe.Nothing) {
return Data_List_Types.Nil.value;
};
if (v instanceof Data_Maybe.Just) {
return new Data_List_Types.Cons(v.value0.value0, v.value0.value1);
};
throw new Error("Failed pattern match at Data.Function.Memoize (line 99, column 7 - line 99, column 27): " + [ v.constructor.name ]);
};
var fromList = function (v) {
if (v instanceof Data_List_Types.Nil) {
return Data_Maybe.Nothing.value;
};
if (v instanceof Data_List_Types.Cons) {
return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, v.value1));
};
throw new Error("Failed pattern match at Data.Function.Memoize (line 102, column 7 - line 102, column 29): " + [ v.constructor.name ]);
};
var f$prime = tabulate(tabulateMaybe(tabulateTuple(dictTabulate)(tabulateList(dictTabulate))))(function ($97) {
return f(toList($97));
});
return function ($98) {
return f$prime(fromList($98));
};
});
};
var tabulateArray = function (dictTabulate) {
return new Tabulate(function (f) {
var f1 = tabulate(tabulateList(dictTabulate))((function () {
var $99 = Data_List.toUnfoldable(Data_Unfoldable.unfoldableArray);
return function ($100) {
return f($99($100));
};
})());
var $101 = Data_List.fromFoldable(Data_Foldable.foldableArray);
return function ($102) {
return f1($101($102));
};
});
};
var tabulateString = new Tabulate(function (f) {
var f1 = tabulate(tabulateArray(tabulateChar))(function ($103) {
return f(Data_String_CodeUnits.fromCharArray($103));
});
return function ($104) {
return f1(Data_String_CodeUnits.toCharArray($104));
};
});
var memoize = function (dictTabulate) {
return function (f) {
var f1 = tabulate(dictTabulate)(f);
return function ($105) {
return Data_Lazy.force(f1($105));
};
};
};
var memoize2 = function (dictTabulate) {
return function (dictTabulate1) {
return function (f) {
var f1 = memoize(tabulateTuple(dictTabulate)(dictTabulate1))(Data_Tuple.uncurry(f));
return Data_Tuple.curry(f1);
};
};
};
var memoize3 = function (dictTabulate) {
return function (dictTabulate1) {
return function (dictTabulate2) {
return function (f) {
var f1 = memoize(tabulateTuple(tabulateTuple(dictTabulate)(dictTabulate1))(dictTabulate2))(Data_Tuple.uncurry(Data_Tuple.uncurry(f)));
return Data_Tuple.curry(Data_Tuple.curry(f1));
};
};
};
};
var genericTabulate = function (dictGeneric) {
return function (dictTabulate) {
return function (f) {
var f1 = tabulate(dictTabulate)((function () {
var $106 = Data_Generic_Rep.to(dictGeneric);
return function ($107) {
return f($106($107));
};
})());
var $108 = Data_Generic_Rep.from(dictGeneric);
return function ($109) {
return f1($108($109));
};
};
};
};
module.exports = {
Tabulate: Tabulate,
tabulate: tabulate,
memoize: memoize,
memoize2: memoize2,
memoize3: memoize3,
genericTabulate: genericTabulate,
tabulateUnit: tabulateUnit,
tabulateNoArguments: tabulateNoArguments,
tabulateBool: tabulateBool,
tabulateChar: tabulateChar,
tabulateString: tabulateString,
tabulateConstructor: tabulateConstructor,
tabulateArgument: tabulateArgument,
tabulateMaybe: tabulateMaybe,
tabulateEither: tabulateEither,
tabulateSum: tabulateSum,
tabulateTuple: tabulateTuple,
tabulateProduct: tabulateProduct,
tabulateList: tabulateList,
tabulateArray: tabulateArray,
tabulateNat: tabulateNat
};