comp.lang.ada
 help / color / mirror / Atom feed
* 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