From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Ada lacks lighterweight-than-task parallelism
Date: Mon, 2 Jul 2018 18:48:36 +0200
Date: 2018-07-02T18:48:36+02:00 [thread overview]
Message-ID: <phdl17$12rn$1@gioia.aioe.org> (raw)
In-Reply-To: bc59cdf3-3e1c-426b-a96f-11a7a491f30b@googlegroups.com
On 2018-07-02 18:01, Marius Amado-Alves wrote:
> " ... if the same object must be iterated differently it must offer two different interfaces for doing so" (K.)
>
> Absolutely, and I've done that multiple times. Then 'Parallelizeable would be a property of the iterator--not of the object. A simple Boolean attribute indicating to the compiler "parallelize if you can" or "dont." (Defaulting to False I guess.)
No, there should be no any iterators in the first place. In a properly
designed language you need no helper types.
And it is certainly not a Boolean flag. A property is something which
can be proved to be true. One property is existence of random
independent evaluation of the access. It is a property of the given set
type (or mapping/container type).
Another property is absence of cross effects of the loop body
evaluation, which depends on the properties of operations and objects
that appear in the body.
None of these are properties of the loop itself, so it is strange to tie
this to the loop statement. That would be a promise the language cannot
hold unless it can prove it holding. If it can, and the only way to know
is the contracts of the objects involved, then it would need no further
hints.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2018-07-02 16:48 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-19 22:14 Ada lacks lighterweight-than-task parallelism Dan'l Miller
2018-06-19 22:23 ` Dan'l Miller
2018-06-20 0:03 ` Dan'l Miller
2018-06-20 0:41 ` Lucretia
2018-06-20 1:36 ` Dan'l Miller
2018-06-20 13:39 ` Luke A. Guest
2018-06-20 1:12 ` Shark8
2018-06-20 1:41 ` Dan'l Miller
2018-06-20 7:13 ` Dmitry A. Kazakov
2018-06-20 12:03 ` Dan'l Miller
2018-06-20 12:29 ` Dmitry A. Kazakov
2018-06-20 13:14 ` Mehdi Saada
2018-06-20 13:38 ` Dmitry A. Kazakov
2018-06-20 14:01 ` Mehdi Saada
2018-06-20 14:32 ` Dmitry A. Kazakov
2018-06-29 22:01 ` Randy Brukardt
2018-06-29 22:15 ` Dmitry A. Kazakov
2018-06-29 22:47 ` Randy Brukardt
2018-06-30 8:41 ` Dmitry A. Kazakov
2018-06-30 15:43 ` Brad Moore
2018-07-01 9:46 ` Dmitry A. Kazakov
2018-07-02 13:13 ` Marius Amado-Alves
2018-07-02 15:05 ` Dmitry A. Kazakov
2018-07-02 16:01 ` Marius Amado-Alves
2018-07-02 16:48 ` Dmitry A. Kazakov [this message]
2018-06-20 15:58 ` Niklas Holsti
2018-06-29 21:58 ` Randy Brukardt
2018-06-21 0:19 ` Shark8
2018-06-21 9:09 ` Dmitry A. Kazakov
2018-06-21 14:42 ` Shark8
2018-06-21 15:55 ` Dan'l Miller
2018-06-27 11:49 ` Marius Amado-Alves
2018-06-21 16:06 ` Dmitry A. Kazakov
2018-06-22 17:06 ` Shark8
2018-06-22 18:53 ` Dmitry A. Kazakov
2018-06-21 0:17 ` Shark8
2018-06-20 12:28 ` Brian Drummond
2018-06-21 1:51 ` Dan'l Miller
2018-06-21 10:22 ` Brian Drummond
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox