"J-P. Rosen" wrote in message news:lq9d2e$2on$1@dont-email.me... > Le 17/07/2014 22:29, Adam Beneschan a écrit : >> J-P's statement makes no sense if we're talking about low-level or OS >> threads > I should have included my statement between ... > > > In practice, and not to confuse the OP, tasks correspond to OS threads. > I meant that the language does not require creating separate threads > when not explicitely stated. Of course, a crazy implementation can do it > any way it pleases, provided it is equivalent to the model. Nothing crazy about it for implementing ATC. I remember talking about doing exactly that when Ada 9x was designed, and the rules were supposed to allow it. But it does require some hoops vis-a-vis exceptions, current task, etc. ATC isn't useful on Windows unless one uses two threads, as most OS calls cannot be interrupted. The first example in the RM - 9.7.4(11) will never work on Windows unless a two thread model is used. We just discussed that in the ARG meeting -- in your office no less -- I'm surprised that you forgot about it. Of course, we decided that it's not important that ATC is useful. (We added a disclaimer that cannot possibly be true of the first example.) Ergo, talking about ATC is a waste of time, no one should use it because you can't expect it to work (portably). Randy.