On Fri, May 3, 2013 at 1:53 AM, Claus Reinke <[email protected]> wrote: > That part I wouldn't be so sure about: in all monads, the .of equivalent > is effect-free (in an IO monad, it does no IO; in a non-determinism > monad, it is deterministic; in a failure/exception monad, it does not > fail; in a count-steps monad, it doesn't count). > If you look at those identity laws at the top again, you'll see that > Promise.of cannot introduce a delay for these laws to work out > (otherwise, the left- and right-hand sides would have different > numbers of ticks/turns).
As I said, the number of ticks is unobservable if you're writing effect-free code. If you're not writing effect-free code, then as I said before, keeping the number of ticks the same regardless of the state of the promise when you call .then() on it is important for consistency, so it's easy to reason about how your code will run. ~TJ _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

