Comparing version 2.0.1 to 2.1.0
# ChangeLog | ||
## 2.1.0 - November 20, 2015 | ||
* Added `EitherT.runEitherT` and `Either.runEither` to extract either values | ||
without needing to pass in callback functions. | ||
* Updated some internal structures to make it more clear that some values are | ||
private. | ||
## 2.0.1 - November 18, 2015 | ||
@@ -4,0 +10,0 @@ * Fixed exec state returning value instead of state. |
@@ -6,13 +6,3 @@ /* | ||
"use strict"; | ||
var chain, map, ap, concat, liftM, liftM2, liftA, liftA2, compose, composer, next, sequencea, sequence, constant = ( | ||
function(x) { | ||
return (function() { | ||
return x; | ||
}); | ||
}), | ||
flip = (function(f) { | ||
return (function(x, y) { | ||
return f(y, x); | ||
}); | ||
}); | ||
var chain, map, ap, concat, liftM, liftM2, liftA, liftA2, compose, composer, next, sequencea, sequence; | ||
(chain = (function(m, f) { | ||
@@ -57,3 +47,2 @@ return m.chain(f); | ||
})); | ||
var f = compose; | ||
(composer = (function(x, y) { | ||
@@ -60,0 +49,0 @@ return (function(x0) { |
@@ -8,17 +8,22 @@ /* | ||
EitherT = require("./trans/either"), | ||
Either, eitherT = EitherT["eitherT"]; | ||
Either; | ||
(Either = EitherT(Identity)); | ||
var x = (function(m, l, r) { | ||
var y, y0; | ||
return eitherT(m, ((y = Identity.of), (function(z) { | ||
return y(l(z)); | ||
})), ((y0 = Identity.of), (function(z) { | ||
return y0(r(z)); | ||
var x = EitherT.runEitherT, | ||
y = Identity.runIdentity; | ||
(Either.runEither = (function(z) { | ||
return y(x(z)); | ||
})); | ||
var x0 = (function(m, l, r) { | ||
var y0, y1; | ||
return EitherT.eitherT(m, ((y0 = Identity.of), (function(z) { | ||
return y0(l(z)); | ||
})), ((y1 = Identity.of), (function(z) { | ||
return y1(r(z)); | ||
}))); | ||
}), | ||
y = Identity.runIdentity; | ||
y0 = Identity.runIdentity; | ||
(Either.either = (function() { | ||
var args = arguments; | ||
return y(x.apply(null, args)); | ||
return y0(x0.apply(null, args)); | ||
})); | ||
(module.exports = Either); |
@@ -11,7 +11,2 @@ /* | ||
return x; | ||
}), | ||
constant = (function(x) { | ||
return (function() { | ||
return x; | ||
}); | ||
}); | ||
@@ -18,0 +13,0 @@ (Error = ErrorT(Identity)); |
@@ -7,4 +7,3 @@ /* | ||
var __o = require("./structure"), | ||
Identity, Functor = __o["Functor"], | ||
Monad = __o["Monad"]; | ||
Identity, Monad = __o["Monad"]; | ||
(Identity = (function(x) { | ||
@@ -11,0 +10,0 @@ var self = this; |
@@ -15,3 +15,3 @@ /* | ||
runCodensity = (function(m, k) { | ||
return new(Tail)(m.run, k); | ||
return new(Tail)(m._run, k); | ||
}); | ||
@@ -21,3 +21,3 @@ (Codensity = (function(m) { | ||
var self = this; | ||
(self.run = run); | ||
(self._run = run); | ||
}); | ||
@@ -33,5 +33,5 @@ Monad(Instance, (function(x) { | ||
var m0 = f(x); | ||
return new(Tail)(m0.run, k); | ||
return new(Tail)(m0._run, k); | ||
}); | ||
return new(Tail)(c.run, k0); | ||
return new(Tail)(c._run, k0); | ||
})); | ||
@@ -38,0 +38,0 @@ })); |
@@ -14,9 +14,9 @@ /* | ||
runContT = (function(m, k) { | ||
return new(Tail)(m.run, k); | ||
return new(Tail)(m._run, k); | ||
}); | ||
(ContT = (function(m) { | ||
var reify, Instance = (function(run) { | ||
var self = this; | ||
(self.run = run); | ||
}); | ||
var Instance = (function(run) { | ||
var self = this; | ||
(self._run = run); | ||
}); | ||
Monad(Instance, (function(x) { | ||
@@ -31,5 +31,5 @@ return new(Instance)((function(k) { | ||
var m0 = f(x); | ||
return new(Tail)(m0.run, k); | ||
return new(Tail)(m0._run, k); | ||
}); | ||
return new(Tail)(c.run, k0); | ||
return new(Tail)(c._run, k0); | ||
})); | ||
@@ -44,9 +44,3 @@ })); | ||
})); | ||
ContMonad(Instance, ((reify = (function(k) { | ||
return (function(x) { | ||
return new(Instance)((function(_) { | ||
return k(x); | ||
})); | ||
}); | ||
})), (function(f) { | ||
ContMonad(Instance, (function(f) { | ||
return new(Instance)((function(k) { | ||
@@ -58,5 +52,5 @@ var m0 = f((function(x) { | ||
})); | ||
return new(Tail)(m0.run, k); | ||
return new(Tail)(m0._run, k); | ||
})); | ||
}))); | ||
})); | ||
return Instance; | ||
@@ -63,0 +57,0 @@ })); |
@@ -29,8 +29,2 @@ /* | ||
}), | ||
pushP = (function(t, k) { | ||
return cons(new(P)(t), k); | ||
}), | ||
pushSeg = (function(f, k) { | ||
return cons(new(Seg)(f), k); | ||
}), | ||
splitSeq = (function(t, k) { | ||
@@ -47,3 +41,3 @@ if (isEmpty(k)) return [NIL, NIL]; | ||
unDContT = (function(m, k) { | ||
return new(Tail)(m.run, k); | ||
return new(Tail)(m._run, k); | ||
}), | ||
@@ -59,3 +53,3 @@ runDContT = ((y = UniqueT.runUniqueT), (function() { | ||
var self = this; | ||
(self.run = run); | ||
(self._run = run); | ||
}), | ||
@@ -70,3 +64,3 @@ appk = (function(k, x) { | ||
k0 = rest(c); | ||
return new(Tail)(m0.run, k0); | ||
return new(Tail)(m0._run, k0); | ||
} | ||
@@ -85,3 +79,3 @@ (c = ((top instanceof P) ? rest(c) : top)); | ||
var k0 = cons(new(Seg)(f), k); | ||
return new(Tail)(c.run, k0); | ||
return new(Tail)(c._run, k0); | ||
})); | ||
@@ -106,3 +100,3 @@ })); | ||
var k0 = cons(new(P)(prompt), k); | ||
return new(Tail)(c.run, k0); | ||
return new(Tail)(c._run, k0); | ||
})); | ||
@@ -115,3 +109,3 @@ }), (function(prompt, f) { | ||
m0 = f(x); | ||
return new(Tail)(m0.run, xs); | ||
return new(Tail)(m0._run, xs); | ||
})); | ||
@@ -121,3 +115,3 @@ }), (function(subk, c) { | ||
var k0 = append(subk, k); | ||
return new(Tail)(c.run, k0); | ||
return new(Tail)(c._run, k0); | ||
})); | ||
@@ -124,0 +118,0 @@ })); |
@@ -12,16 +12,4 @@ /* | ||
Transformer = __o["Transformer"], | ||
Right = (function(x) { | ||
return ({ | ||
right: true, | ||
x: x | ||
}); | ||
}), | ||
Left = (function(x) { | ||
return ({ | ||
right: false, | ||
x: x | ||
}); | ||
}), | ||
runEitherT = (function(x) { | ||
return x.run; | ||
return x._run; | ||
}); | ||
@@ -31,3 +19,3 @@ (EitherT = (function(m) { | ||
var self = this; | ||
(self.run = run); | ||
(self._run = run); | ||
}); | ||
@@ -37,3 +25,3 @@ Monad(Instance, ((x = m.of), (function(z) { | ||
right: true, | ||
x: z | ||
value: z | ||
}), | ||
@@ -44,9 +32,9 @@ y = x(z0); | ||
var c = this; | ||
return new(Instance)(c.run.chain((function(__o0) { | ||
return new(Instance)(c._run.chain((function(__o0) { | ||
var right = __o0["right"], | ||
x0 = __o0["x"], | ||
x1; | ||
return (right ? ((x1 = f(x0)), x1.run) : m.of(({ | ||
right: false, | ||
x: x0 | ||
value = __o0["value"], | ||
x0; | ||
return (right ? ((x0 = f(value)), x0._run) : m.of(({ | ||
left: true, | ||
value: value | ||
}))); | ||
@@ -56,13 +44,13 @@ }))); | ||
Monoid(Instance, new(Instance)(m.of(((x0 = m.zero), ({ | ||
right: false, | ||
x: x0 | ||
left: true, | ||
value: x0 | ||
})))), (function(b) { | ||
var a = this; | ||
return new(Instance)(a.run.chain((function(__o0) { | ||
return new(Instance)(a._run.chain((function(__o0) { | ||
var right = __o0["right"], | ||
x1 = __o0["x"]; | ||
value = __o0["value"]; | ||
return (right ? m.of(({ | ||
right: true, | ||
x: x1 | ||
})) : b.run); | ||
value: value | ||
})) : b._run); | ||
}))); | ||
@@ -74,3 +62,3 @@ })); | ||
right: true, | ||
x: x1 | ||
value: x1 | ||
})); | ||
@@ -81,4 +69,4 @@ }))); | ||
var z0 = ({ | ||
right: false, | ||
x: z | ||
left: true, | ||
value: z | ||
}), | ||
@@ -91,9 +79,10 @@ y = x1(z0); | ||
})); | ||
(EitherT.runEitherT = runEitherT); | ||
(EitherT.eitherT = (function(m, l, r) { | ||
return m.run.chain((function(__o0) { | ||
return m._run.chain((function(__o0) { | ||
var right = __o0["right"], | ||
x = __o0["x"]; | ||
return (right ? r(x) : l(x)); | ||
value = __o0["value"]; | ||
return (right ? r(value) : l(value)); | ||
})); | ||
})); | ||
(module.exports = EitherT); |
@@ -10,5 +10,3 @@ /* | ||
EitherT = require("./either"), | ||
ErrorT, Monad = __o["Monad"], | ||
Monoid = __o["Monoid"], | ||
eitherT = EitherT["eitherT"]; | ||
ErrorT, eitherT = EitherT["eitherT"]; | ||
(ErrorT = (function(m) { | ||
@@ -15,0 +13,0 @@ var Instance = EitherT(m); |
@@ -11,3 +11,3 @@ /* | ||
runIdentityT = (function(x) { | ||
return x.value; | ||
return x._value; | ||
}); | ||
@@ -17,3 +17,3 @@ (Identity = (function(m) { | ||
var self = this; | ||
(self.value = x); | ||
(self._value = x); | ||
}); | ||
@@ -25,5 +25,5 @@ Monad(Instance, ((y = m.of), (function(z) { | ||
var c = this; | ||
return new(Instance)(c.value.chain((function(z) { | ||
return new(Instance)(c._value.chain((function(z) { | ||
var x = f(z); | ||
return x.value; | ||
return x._value; | ||
}))); | ||
@@ -33,3 +33,3 @@ })); | ||
var a = this; | ||
return new(Instance)(a.value.concat(b.value)); | ||
return new(Instance)(a._value.concat(b._value)); | ||
})); | ||
@@ -36,0 +36,0 @@ Transformer(Instance, m, (function(y0) { |
@@ -11,9 +11,5 @@ /* | ||
liftM2 = __o["liftM2"], | ||
Functor = __o0["Functor"], | ||
Monoid = __o0["Monoid"], | ||
Monad = __o0["Monad"], | ||
Transformer = __o0["Transformer"], | ||
foldr = (function(f, z, a) { | ||
return Array.prototype.reduceRight.call(a, f, z); | ||
}), | ||
map = (function(f, a) { | ||
@@ -24,10 +20,5 @@ return Array.prototype.map.call(a, f); | ||
flatten = Function.prototype.apply.bind(Array.prototype.concat, []), | ||
flip = (function(f) { | ||
return (function(x, y) { | ||
return f(y, x); | ||
}); | ||
}), | ||
flattenM = liftM.bind(null, flatten), | ||
runListT = (function(x) { | ||
return x.run; | ||
return x._run; | ||
}); | ||
@@ -37,3 +28,3 @@ (ListT = (function(m) { | ||
var self = this; | ||
(self.run = run); | ||
(self._run = run); | ||
}), | ||
@@ -51,3 +42,3 @@ sequence = ((f = liftM2.bind(null, (function(x, y) { | ||
var a = this; | ||
return new(Instance)(liftM2(concat, a.run, b.run)); | ||
return new(Instance)(liftM2(concat, a._run, b._run)); | ||
})); | ||
@@ -58,5 +49,5 @@ Monad(Instance, (function(x) { | ||
var c = this; | ||
return new(Instance)(flattenM(c.run.chain(mapM.bind(null, (function(z0) { | ||
return new(Instance)(flattenM(c._run.chain(mapM.bind(null, (function(z0) { | ||
var x = f0(z0); | ||
return x.run; | ||
return x._run; | ||
}))))); | ||
@@ -63,0 +54,0 @@ })); |
@@ -13,10 +13,4 @@ /* | ||
map = __o0["map"], | ||
Pair = (function(x, s) { | ||
return ({ | ||
x: x, | ||
s: s | ||
}); | ||
}), | ||
runStateT = (function(m, s) { | ||
return m.run(s); | ||
return m._run(s); | ||
}); | ||
@@ -26,3 +20,3 @@ (StateT = (function(m) { | ||
var self = this; | ||
(self.run = run); | ||
(self._run = run); | ||
}); | ||
@@ -39,3 +33,3 @@ Monad(Instance, (function(x) { | ||
return new(Instance)((function(s) { | ||
return c.run(s) | ||
return c._run(s) | ||
.chain((function(__o1) { | ||
@@ -45,3 +39,3 @@ var x = __o1["x"], | ||
m0 = f(x); | ||
return m0.run(s0); | ||
return m0._run(s0); | ||
})); | ||
@@ -55,4 +49,4 @@ })); | ||
return new(Instance)((function(s) { | ||
return a.run(s) | ||
.concat(b.run(s)); | ||
return a._run(s) | ||
.concat(b._run(s)); | ||
})); | ||
@@ -59,0 +53,0 @@ })); |
{ | ||
"name": "akh", | ||
"version": "2.0.1", | ||
"version": "2.1.0", | ||
"description": "Monad and Monad Transformer Collection", | ||
@@ -52,5 +52,5 @@ "author": "Matt Bierner", | ||
"build": "npm run build-amd && npm run build-node", | ||
"build-amd": "khepri lib -o dist", | ||
"build-node": "khepri lib -o dist_node --package_manager=node" | ||
"build-amd": "khepri --prune lib -o dist", | ||
"build-node": "khepri --prune --package_manager=node lib -o dist_node" | ||
} | ||
} |
@@ -14,2 +14,6 @@ "use strict"; | ||
test.deepEqual( | ||
Either.runEither(c), | ||
{ right: true, value: 3}); | ||
test.done(); | ||
@@ -25,2 +29,6 @@ }; | ||
test.deepEqual( | ||
Either.runEither(c), | ||
{ left: true, value: 3}); | ||
test.done(); | ||
@@ -27,0 +35,0 @@ }; |
74274
48
2094