 <code>future</code> predates development of
<code>promises</code> by almost two years.</p>
<p>The <code>promises</code> package provides the API for working with
the results of async tasks, but it totally abdicates responsibility for
actually launching/creating async tasks. The idea is that any number of
different packages could be capable of launching async tasks, using
whatever techniques they want, but all of them would either return
promise objects (or objects that can be converted to promise objects, 