digitalmars.D.learn - Promises/A+ spec implementations?
- Alexander J. Vincent (27/27) Aug 18 2015 Hi, folks. Over ten years ago I had some interest in the D
- Alex Parrill (11/38) Aug 19 2015 IMO the 'next' generation of async is fibers/coroutines, not
- Alexander J. Vincent (5/10) Aug 19 2015 Ahhh. That's actually really close to what I had in mind
Hi, folks. Over ten years ago I had some interest in the D language. I'm starting to think about it again... I've been using Mozilla's Promises implementations for quite a while, now, and they're surprisingly nice to work with. They are the next generation beyond the callback function patterns I learned in JavaScript. I've been thinking that writing a Promises/A+ library for D would be a good task for a relatively inexperienced D programmer. I didn't see any Promises/A+ implementations in the standard library or on code.dlang.org. Now, whether I write that library or someone else beats me to it, I don't really care right now. I'm interested in doing it, but my time is extremely limited. I'm mainly posting this as a request to get a Promises/A+ library started, and for me to observe the process of crafting a library. If someone wants to be a mentor for me on this, answering direct questions, that'd be great. The spec for Promises/A+ is at https://promisesaplus.com/ . Mozilla's Bobby Holley recently wrote a good blog post about a "MozPromise" implementation which includes supporting multithreading (a concept I don't fully understand how to write for, yet) and cancelling a Promise (which isn't in the spec, but makes sense for Mozilla's purposes). That blog post is at http://bholley.net/blog/2015/mozpromise.html . Finally, I had an old login to this forum (kb7iuj), which I've long forgotten the password for. I did see that there's no password recovery support, so could someone just terminate that login for good?
Aug 18 2015
On Wednesday, 19 August 2015 at 04:18:03 UTC, Alexander J. Vincent wrote:Hi, folks. Over ten years ago I had some interest in the D language. I'm starting to think about it again... I've been using Mozilla's Promises implementations for quite a while, now, and they're surprisingly nice to work with. They are the next generation beyond the callback function patterns I learned in JavaScript. I've been thinking that writing a Promises/A+ library for D would be a good task for a relatively inexperienced D programmer. I didn't see any Promises/A+ implementations in the standard library or on code.dlang.org. Now, whether I write that library or someone else beats me to it, I don't really care right now. I'm interested in doing it, but my time is extremely limited. I'm mainly posting this as a request to get a Promises/A+ library started, and for me to observe the process of crafting a library. If someone wants to be a mentor for me on this, answering direct questions, that'd be great. The spec for Promises/A+ is at https://promisesaplus.com/ . Mozilla's Bobby Holley recently wrote a good blog post about a "MozPromise" implementation which includes supporting multithreading (a concept I don't fully understand how to write for, yet) and cancelling a Promise (which isn't in the spec, but makes sense for Mozilla's purposes). That blog post is at http://bholley.net/blog/2015/mozpromise.html . Finally, I had an old login to this forum (kb7iuj), which I've long forgotten the password for. I did see that there's no password recovery support, so could someone just terminate that login for good?IMO the 'next' generation of async is fibers/coroutines, not promises. Vibe.d is a great example; the code looks exactly like a normal synchronous function (including try/catch!), but is asynchronous behind the scenes. See also vibe.d's feature page [1] and examples [2] don't know how they work. [1]: http://vibed.org/features#fibers [2]: http://vibed.org/docs
Aug 19 2015
On Thursday, 20 August 2015 at 01:10:39 UTC, Alex Parrill wrote:IMO the 'next' generation of async is fibers/coroutines, not promises. Vibe.d is a great example; the code looks exactly like a normal synchronous function (including try/catch!), but is asynchronous behind the scenes. See also vibe.d's feature page [1] and examples [2]Ahhh. That's actually really close to what I had in mind _immediately after_ Promises. Mozilla does the same thing with microtasks and a yield statement in ECMAScript 6. So that's actually a good thing! Thanks for the links.
Aug 19 2015