* Asynchronicity and Promises
@ 2015-10-28 15:33 brbarkstrom
2015-10-28 18:46 ` Dmitry A. Kazakov
0 siblings, 1 reply; 3+ messages in thread
From: brbarkstrom @ 2015-10-28 15:33 UTC (permalink / raw)
There's an interesting blog on Asynchronicity and Promises at
<https://code.facebook.com/posts/1661982097368498/futures-for-c-11-at-facebook/?utm_source=outbrain&utm_medium=outbrain&utm_campaign=outbrain>
I think we've had some discussion in other e-mail threads here.
As far as I've been able to follow the discussion, we don't seem
to have settled the issue about how Ada could handle contract
"Promises" - although it looked like we had begun to converge
on some useful potential approaches.
Bruce B.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Asynchronicity and Promises
2015-10-28 15:33 Asynchronicity and Promises brbarkstrom
@ 2015-10-28 18:46 ` Dmitry A. Kazakov
2015-10-29 12:38 ` brbarkstrom
0 siblings, 1 reply; 3+ messages in thread
From: Dmitry A. Kazakov @ 2015-10-28 18:46 UTC (permalink / raw)
On Wed, 28 Oct 2015 08:33:56 -0700 (PDT), brbarkstrom@gmail.com wrote:
On Wed, 28 Oct 2015 08:33:56 -0700 (PDT), in comp.lang.ada you wrote:
> There's an interesting blog on Asynchronicity and Promises at
[...]
> I think we've had some discussion in other e-mail threads here.
> As far as I've been able to follow the discussion, we don't seem
> to have settled the issue about how Ada could handle contract
> "Promises" - although it looked like we had begun to converge
> on some useful potential approaches.
Ada had this since Ada 95 in the form of a protected object. Protected
object's state is waitable. That gives you everything you need to design
things described. They are not 100% asynchronous because the caller waits
for the callee at some point anyway.
As a side note, usefulness of this approach is questionable. I can judge,
because this sort of objects and asynchronous execution has been used in
the middleware for 20+ years. A lot of use cases to be sure. It is
certainly neither natural nor composable and works at the low level only.
To be honest, I know no better way, but you must clearly understand
limitations of the approach, e.g. a total lack of scalability. Ada's
concurrency model has much more to offer and at the higher level as well.
P.S. What wonders me is that the author is seemingly unaware of 30+ years
of OS having asynchronous I/O and waitable objects. Just google for Windows
GetOverlappedResult.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Asynchronicity and Promises
2015-10-28 18:46 ` Dmitry A. Kazakov
@ 2015-10-29 12:38 ` brbarkstrom
0 siblings, 0 replies; 3+ messages in thread
From: brbarkstrom @ 2015-10-29 12:38 UTC (permalink / raw)
On Wednesday, October 28, 2015 at 2:46:37 PM UTC-4, Dmitry A. Kazakov wrote:
>
> > There's an interesting blog on Asynchronicity and Promises at
> [...]
> > I think we've had some discussion in other e-mail threads here.
> > As far as I've been able to follow the discussion, we don't seem
> > to have settled the issue about how Ada could handle contract
> > "Promises" - although it looked like we had begun to converge
> > on some useful potential approaches.
>
> Ada had this since Ada 95 in the form of a protected object. Protected
> object's state is waitable. That gives you everything you need to design
> things described. They are not 100% asynchronous because the caller waits
> for the callee at some point anyway.
>
> As a side note, usefulness of this approach is questionable. I can judge,
> because this sort of objects and asynchronous execution has been used in
> the middleware for 20+ years. A lot of use cases to be sure. It is
> certainly neither natural nor composable and works at the low level only.
> To be honest, I know no better way, but you must clearly understand
> limitations of the approach, e.g. a total lack of scalability. Ada's
> concurrency model has much more to offer and at the higher level as well.
>
> P.S. What wonders me is that the author is seemingly unaware of 30+ years
> of OS having asynchronous I/O and waitable objects. Just google for Windows
> GetOverlappedResult.
>
> --
Thanks for the response. I'll take a look.
Bruce B.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-10-29 12:38 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-28 15:33 Asynchronicity and Promises brbarkstrom
2015-10-28 18:46 ` Dmitry A. Kazakov
2015-10-29 12:38 ` brbarkstrom
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox