Yet another example of a retarded implementation of first-class
procedures:

http://developer.apple.com/mac/articles/cocoa/introblocksgcd.html

The whole intro paragraph is highly amusing in all regards, so,
I can't resist not copying it here:

Block Objects:

  Block objects (informally, “blocks”) are an extension to C, as
  well as Objective-C and C++, that make it easy for programmers
  to define self-contained units of work.  Blocks are similar to
  — but far more powerful than — traditional function pointers.
  The key differences are:
   • Blocks can be defined inline, as “anonymous functions.”
   • Blocks capture read-only copies of local variables, similar
     to “closures” in other languages  [Hello?!?!?!]
  This is kind of functionality is common in dynamically-typed
  interpreted languages [Hello?!?!?!], but has never before been
  widely available to C programmers.  Apple has published both
  the Blocks Languages Specification and our implementation as
  open source under the MIT license, added blocks support to
  GCC 4.2 and clang, and has submitted it for consideration as
  part of the next version of the C programming language [HELLO!].

Better head to r6rs-discuss and propose this awesomeness for R7
now [of course we won't need to pile on features, so, I'll also
propose that we remove these silly opaque #<procedure> things
from Scheme and use quoted lambda S-expressions instead].

Aziz,,,

Reply via email to