9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: David Leimbach <leimy2k@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] "Blocks" in C
Date: Tue,  8 Sep 2009 08:31:28 -0700	[thread overview]
Message-ID: <3e1162e60909080831g728ced86wcd143865e37da2f9@mail.gmail.com> (raw)
In-Reply-To: <5d375e920909070240x6b4dabe3x6c47ad11b303525f@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1755 bytes --]

On Mon, Sep 7, 2009 at 2:40 AM, Uriel <uriel99@gmail.com> wrote:

> On Mon, Sep 7, 2009 at 11:05 AM, Greg Comeau<comeau@panix.com> wrote:
> > In article <25CF9336-C071-44A5-AB04-6BB042BC5755@kix.in>,
> > Anant Narayanan <anant@kix.in> wrote:
> >>I understand the argument that blocks don't "feel" C-like, but the
> >>argument that you can do everything with just using function pointers
> >>is BS.
> >
> > Even one step further, even if we all agree blocks are BS,
>
> As I was reading this thread I kept hearing inside my head boyd's
> voice screaming this at frequent intervals:
>
> "Blocks are bollocks!"
>
> uriel
>
>
>
In case anyone is interested, I've got my concurrent prime sieve working
just fine now (with help from Kevin Van Vechten at apple) using libdispatch,
simulating the "actor model" by hooking up blocks to pipe fds.

http://paste.lisp.org/display/86549#3

It turns out I don't need the semaphore and the counter either, because I
can dynamically add stuff to groups, and then wait on that stuff to leave
the group for synchronizing the program.  Again this advice came from my
buddy Kevin at apple.

Having wrestled with this stuff a little bit, and written "something".  I
can immediately see how one can get away from needing to "select" in code so
much, and fire off blocks to handle client server interactions etc.  It's
kind of neat.

My understanding is that Apple is going through the process to open up the
source to all of this stuff soon, and another friend of mine has already
done his own version of blocks that works for the iPhone and Leopard, and
another person is looking to make an API compatible with libdispatch readily
available.

I guess we'll see what happens.

Dave

[-- Attachment #2: Type: text/html, Size: 2604 bytes --]

  reply	other threads:[~2009-09-08 15:31 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-02  8:04 Anant Narayanan
2009-09-02  9:43 ` Francisco J Ballesteros
2009-09-02 11:00   ` Philippe Anel
2009-09-02 11:13   ` Charles Forsyth
2009-09-03  9:52   ` Greg Comeau
2009-09-02 11:40 ` Eris Discordia
2009-09-02 12:32 ` Uriel
2009-09-02 14:20   ` Devon H. O'Dell
2009-09-03  9:52     ` Greg Comeau
2009-09-03 10:48       ` Akshat Kumar
2009-09-03 11:25         ` Charles Forsyth
2009-09-03 13:59         ` Greg Comeau
2009-09-03 15:15     ` Uriel
2009-09-03 15:44       ` David Leimbach
2009-09-03 16:01         ` Roman V Shaposhnik
2009-09-04  9:15           ` Greg Comeau
2009-09-04 16:49             ` Roman Shaposhnik
2009-09-03 16:02         ` erik quanstrom
2009-09-03 18:56           ` David Leimbach
2009-09-03 18:58             ` erik quanstrom
2009-09-03 19:13               ` David Leimbach
2009-09-03 19:36                 ` erik quanstrom
2009-09-03 19:50                   ` David Leimbach
2009-09-03 20:30                     ` Iruata Souza
2009-09-06 22:35                     ` Uriel
2009-09-07  0:41                       ` David Leimbach
2009-09-03 21:08                   ` Roman V Shaposhnik
2009-09-03 21:35                     ` erik quanstrom
2009-09-03 21:45                       ` David Leimbach
2009-09-03 21:49                         ` David Leimbach
2009-09-03 21:51                           ` David Leimbach
2009-09-03 22:36                       ` Roman V Shaposhnik
2009-09-04  9:16               ` Greg Comeau
2009-09-03 22:10           ` Daniel Lyons
2009-09-03 22:07         ` Daniel Lyons
2009-09-04  9:15         ` Greg Comeau
2009-09-04  3:21       ` Anant Narayanan
2009-09-04  3:52         ` erik quanstrom
2009-09-04  4:18           ` David Leimbach
2009-09-04  4:44             ` erik quanstrom
2009-09-04  5:31               ` David Leimbach
2009-09-04  5:35                 ` David Leimbach
2009-09-04  7:11                   ` Bakul Shah
2009-09-04  7:47                     ` David Leimbach
2009-09-04 14:41                       ` Bakul Shah
2009-09-04 15:04                         ` David Leimbach
2009-09-04 15:58                           ` Bakul Shah
2009-09-04 12:14                     ` erik quanstrom
2009-09-04 13:52                       ` David Leimbach
2009-09-04 13:59                         ` matt
2009-09-04 14:20                         ` erik quanstrom
2009-09-04 14:56                           ` David Leimbach
2009-09-06 23:03                             ` Uriel
2009-09-07  0:45                               ` David Leimbach
2009-09-04 16:50                       ` Roman Shaposhnik
2009-09-04  6:45               ` Bakul Shah
2009-09-04 16:44           ` Roman Shaposhnik
2009-09-04 16:58             ` Iruata Souza
2009-09-04 17:09               ` Roman Shaposhnik
2009-09-04 17:42             ` erik quanstrom
2009-09-04 18:34               ` erik quanstrom
2009-09-04 21:54               ` Roman V Shaposhnik
2009-09-07  9:06             ` Greg Comeau
2009-09-07  9:05         ` Greg Comeau
2009-09-07  9:40           ` Uriel
2009-09-08 15:31             ` David Leimbach [this message]
2009-09-08 15:44               ` Uriel
2009-09-08 16:40               ` Bakul Shah
2009-09-11 18:15                 ` Iruata Souza
2009-09-11 18:46                   ` David Leimbach
2009-09-11 20:36                   ` Roman V Shaposhnik
2009-09-11 21:28                     ` David Leimbach
2009-09-14 16:07                       ` Lawrence E. Bakst
2009-09-12 11:08                     ` Anant Narayanan
2009-09-13 19:03                       ` David Leimbach
2009-09-17  1:54                         ` Lawrence E. Bakst
2009-09-17  8:43                           ` Charles Forsyth
2009-09-17  9:12                             ` Daniel Lyons
2009-09-17 15:56                             ` David Leimbach
2009-09-17 17:38                               ` Jack Norton
2009-09-17 20:23                                 ` Anant Narayanan
2009-09-17 20:26                                   ` erik quanstrom
2009-09-17 20:31                                     ` Anant Narayanan
2009-09-17 20:47                                       ` Akshat Kumar
2009-09-17 21:02                                         ` erik quanstrom
2009-09-17 22:26                                           ` Steve Simon
2009-09-17 22:32                                           ` Roman V Shaposhnik
2009-09-18  2:05                                             ` Daniel Lyons
2009-09-18  9:30                                             ` Charles Forsyth
2009-09-18 11:41                                               ` erik quanstrom
2009-09-17 21:03                                       ` Uriel
2009-09-03  9:52   ` Greg Comeau
2009-09-02 14:08 ` Rodolfo (kix)
2009-09-03  9:52   ` Greg Comeau
     [not found] ` <C56117D7BD9A097270529AAE@192.168.1.2>
2009-09-02 15:07   ` David Leimbach
2009-09-02 15:26     ` Roman V Shaposhnik
2009-09-02 15:45       ` David Leimbach
2009-09-03 15:32     ` Uriel
2009-09-03 15:49       ` Roman V Shaposhnik
2009-09-03 15:54         ` erik quanstrom
2009-09-03 16:20           ` Roman V Shaposhnik
2009-09-03 16:44             ` erik quanstrom
2009-09-04  1:05               ` Roman V Shaposhnik
2009-09-04  1:30               ` Russ Cox
2009-09-04  1:32                 ` erik quanstrom
2009-09-03 21:54             ` James Tomaschke
2009-09-06 22:26           ` Uriel
2009-09-04  9:04       ` Greg Comeau
2009-09-02 15:20 ` Roman V Shaposhnik
2009-09-02 17:51   ` Bakul Shah
2009-09-04  1:35 drivers
2009-09-04  1:52 ` erik quanstrom
2009-09-17  9:19 Andrew Simmons
2009-09-17 14:45 ` LiteStar numnums
2009-09-17 17:24 ` Daniel Lyons
2009-09-18 15:50 drivers
2009-09-18 15:56 ` erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3e1162e60909080831g728ced86wcd143865e37da2f9@mail.gmail.com \
    --to=leimy2k@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).