2015-06-29 12:31 GMT+02:00 Niall Douglas
On 29 Jun 2015 at 10:05, Andrzej Krzemienski wrote:
Empty => False (future/monad/result/option) Errored/Excepted => Indeterminate (future/monad/result) Value => True (future/monad/result/option)
The meaning of empty in optional/option and future is not the same. For the fist is a valid state, for the second is an invalid state.
If "empty" means something different in the case of three-type "result", perhaps it deserves a different name?
In my synchronous monad, empty is always an invalid state, just as with future.
In that case, perhaps name "empty" is not the best choice? It has positive connotations like "empty optional" or "empty vector" which are as valid states as only a state can be. I believe "invalid state" would reflect your intention more clearly. Regards, &rzej