-
Renamed to
Task(makes more sense, since now they represent actions). -
BREAKING: Removed
Future.memoise. -
Major performance improvements.
-
BREAKING: Fixed resource management introduced in 2.x.
-
Allows actions to be cancelled.
-
Adds
Future.rejected. -
Adds a catamorphism that takes an object.
-
Deprecates
Future.memoise.
- Semigroup instance for nondeterministic combination.
- BREAKING: Removes Applicative instance.
-
BREAKING: removed partial functions and fields (
toString,isEqual,isPending,isResolved,isRejected), since you can't observe them always, and it leads to confusing behaviour. This functionality will be moved to a co-future later. -
BREAKING: removed default memoisation. Since the Futures are just placeholders for actions, it does make sense that chaining a Future twice should execute the action twice. When you want memoisation, you can use the
Future.memoiseconstruct instead ofnew Future.// Before: new Future(function(reject, resolve) { ... }) // Now: Future.memoise(function(reject, resolve) { ... })
Initial release