From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain Date: Thu, 3 Sep 2009 09:01:11 -0700 From: Roman V Shaposhnik In-reply-to: <3e1162e60909030844r8760a8fu1b27d6e60965ecfb@mail.gmail.com> To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-id: <1251993672.16936.4779.camel@work.SFBay.Sun.COM> References: <09650C1A-A4C8-4030-81D6-9AC8913970A2@kix.in> <5d375e920909020532p1c3bd46l75d89db4f224301e@mail.gmail.com> <9ab217670909020720x6642f30fmaf855420f3d99c7b@mail.gmail.com> <5d375e920909030815n74e481f4yad9814f478db5a78@mail.gmail.com> <3e1162e60909030844r8760a8fu1b27d6e60965ecfb@mail.gmail.com> Subject: Re: [9fans] "Blocks" in C Topicbox-Message-UUID: 6194410e-ead5-11e9-9d60-3106f5b1d025 On Thu, 2009-09-03 at 08:44 -0700, David Leimbach wrote: > The blocks aren't interesting at all by themselves, I totally agree > with that. However what they do to let you write a function inline, > that can be pushed to another function, to be executed on a concurrent > FIFO, is where the real power comes out. > > > I'm not 100% sure why the heck they did it this way, which is totally > different from any other version of concurrent programming setup I've > seen, except maybe that Apple likes to "think different"? It seems that quite a few concurrency frameworks worth the paper their APIs are written on, are converging on this model. The ultimate goal has to do with encapsulation of the computation into idempotent units and describing the topology between those units. That separates the executor from the semantics of computations nicely and has all sorts of bonuses as far as bridging the gap between SMP and distributes systems are concerned. I think the semantics of what needs to be done is well understood. The million dollar question is how to best express such a semantics in what still looks like a programming language. What Apple has done is one way of attacking the problem. Where I sit we explore CPS for doing very similar sort of thing. One point is clear -- there no consensus yet. Thanks, Roman.