CPS::Future(3) compatibility wrapper around Future

DESCRIPTION

This module provides a compatibility wrapper around Future. The code it used to contain was renamed to move it out of the "CPS" distribution. Existing code that refers to "CPS::Future" should be changed to use "Future" instead.

$future->( @result )

This subclass overloads the calling operator, so simply invoking the future object itself as if it were a "CODE" reference is equivalent to calling the "done" method. This makes it simple to pass as a callback function to other code.

It turns out however, that this behaviour is too subtle and can lead to bugs when futures are accidentally used as plain "CODE" references. See the "done_cb" method instead. This overload behaviour will be removed in a later version.