
Hello, On Mon, 29 Jun 2015 11:57:58 +0100 Paul Moore <p.f.moore@gmail.com> wrote:
On 29 June 2015 at 09:32, Nick Coghlan <ncoghlan@gmail.com> wrote:
What we *don't* have are consumption functions that have an implied "async for" inside them - functions like sum(), any(), all(), etc are all synchronous drivers.
Note that this requirement to duplicate big chunks of functionality in sync and async forms is a fundamental aspect of the design. It's not easy to swallow (hence the fact that threads like this keep coming up) as it seems to badly violate DRY principles, but it is deliberate.
There are a number of blog posts that discuss this "two separate worlds" approach, some positive, some negative. Links have been posted recently in one of these threads, but I'm afraid I don't have them to hand right now.
Maybe not the links you meant, but definitely discussing a split-world problem designers of other languages and APIs face: What Color is Your Function? http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/ Red and Green Callbacks http://joearms.github.io/2013/04/02/Red-and-Green-Callbacks.html
Paul
-- Best regards, Paul mailto:pmiscml@gmail.com