From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <5d375e920909020532p1c3bd46l75d89db4f224301e@mail.gmail.com> References: <09650C1A-A4C8-4030-81D6-9AC8913970A2@kix.in> <5d375e920909020532p1c3bd46l75d89db4f224301e@mail.gmail.com> Date: Wed, 2 Sep 2009 10:20:04 -0400 Message-ID: <9ab217670909020720x6642f30fmaf855420f3d99c7b@mail.gmail.com> From: "Devon H. O'Dell" To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [9fans] "Blocks" in C Topicbox-Message-UUID: 5ed5cabe-ead5-11e9-9d60-3106f5b1d025 2009/9/2 Uriel : > On Wed, Sep 2, 2009 at 10:04 AM, Anant Narayanan wrote: >> Mac OS 10.6 introduced a new C compiler frontend (clang), which added >> support for "blocks" in C [1]. Blocks basically add closures and anonymous >> functions to C (and it's derivatives). Full details with examples are in the >> linked article. I think the feature is quite elegant and might be useful in >> cases where you want map/reduce like functionality in C. > > Er., I might be more dumb than usual, but why on earth would you > need/want this garbage to get map/reduce functionality in C? > > To me it seems the typical "lets come up with some cute 'feature' and > then we will figure out how to hype ourselves all the way to hell". I don't see why you'd particularly need / want this in C, but the argument here seems silly given that you've stressed your affinity to other languages that implement closures / anonymous functions. In any case, implementing closures in C isn't too difficult, and if you want to return a function, just return a pointer to it. --dho