Promises can be invoked to deliver a value to them (same result as calling deliver), but this is not mentioned in the docstring:
Proposed: Change docstring to:
Prescreened by: Alex Miller
I think we disagree about the value (or definition) of excessive concision in docstrings.
Comment made by: pbwolf
Calling a promise does not always return the promise. Also, the docstring on deliver does not describe the return value. I hope the two docstrings (promise and deliver) will be kept in synch.
Opinion: it looks to me in the clojure source code like the IFn might just have been a reify hack to let deliver touch the promise. If calling the promise directly had been the plan for the official API, deliver would not exist. Do we really need two ways to deliver? If folks start eschewing deliver, I'll lose a great word to grep clj files for!