All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
Failures have now been replaced with plain Throwable
objects.
The failure map format of previous versions (containg the message and a vector stack trace)
has been deprecated and removed.
Failed parallel tasks now contain a collection of all Throwable
objects of all the tasks
that failed during execution.
Old representation of failures and errors.
Result
is now hidden and contained within Task
.
Users need not manipulate it anymore.
Its functionality has also been hidden away.
Task
has now been made completely compositional.
Any task execution now returns a new task, that one may continue composing with other tasks.
Public Result
functionality.
fold
in Result
is now a macro to avoid unnecessary function calls
Function from-result
on Task
, which promotes a Result
to a Task
Invariant here is: for some Result
r, (run (from-result r)) == r
get!
for Result
now returns the interval value for both failure and success
get-or-else
function for Task
. This runs the task synchronously and then returns the inner
result value. Equivalent to (halfling.result/get! (halfling.task/run task))
Result
is now a deftype
recover
function added for both Task
and Result
. This applies a function on a result in case of failureap
to mapply
, because ap
wasn't really the true ap
function, but rather
the applicative apply-n
function.fold
for Result
to apply its functions directly on the values of those results and not the results themselvesTask
behaviour to support parallel executionap
, zip
and sequenced
support parallel executionp-map
, an alternative to clojures pmap
, that uses the library to map a function in parallelCan you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close