Closed yamadapc closed 10 years ago
Ah, I wrote a blog post about this before: http://robotlolita.github.io/2013/06/28/promises-considered-harmful.html
But basically boils down to three things:
1) Promises/A+ has a complex then
method which has an impossible-to-type overloading, and this makes composing things more difficult. It also makes it impossible to provide a monad instance for them, and monads are a huge deal for me here.
2) Promises/A+ catches all errors by default. I've been bitten countless times by this because I have a terrible memory, and these errors are really difficult to debug, and might lead to undefined behaviour. I'd rather have to tell explicitly which errors I'm interested in handling.
3) I wanted purity. I could do this with Promises/A+, but most of them don't, and then there's the two points above.
So I decided to start from the scratch.
Also see https://github.com/promises-aplus/constructor-spec/issues/24 I guess.
I was wondering around github and decided to take another look at pinky, just to see how it was going. But I stumbled on the fact you abandoned it.
I came here and looked around a bit, but I honestly didn't get the point behind this library. Could you explain why you think Promises A+ is broken?
I'm not sure; just wanted to have some input from you.
(I do get that if you correctly implement a monadic instance for this
Future
value, you'd get to work more functionally, just got the impression this was much more an extension to promises, than something conceptually different.)