Changes between Version 6 and Version 7 of BlockObjects


Ignore:
Timestamp:
Aug 12, 2011 1:26:14 PM (4 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BlockObjects

    v6 v7  
    33Apple recently [http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1370.pdf proposed] the inclusion of lambda abstractions (closures) into C/C++/Objective-C and facilitated an implementation in the `clang` compiler framework.  They called this language extension ''blocks'' (or ''block objects'').  It is widely used in the APIs of OS X 10.6 (Snow Leopard) and 10.7 (Lion).  This page is about extending the Haskell 2010 FFI to directly support blocks — i.e., to enable Haskell functions to be marshalled as blocks to C and to enable C blocks to be marshalled as Haskell functions to Haskell land.  This extension will be enabled by the language option `BlockObjects`. 
    44 
    5 == Example: calling a higher-order C function == 
     5== Example: passing a Haskell functions as an argument == 
    66 
    77As an example, consider the library function [http://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man3/qsort_b.3.html qsort_b]: 
     
    3939}}} 
    4040 
     41== Example: returning a C block == 
     42 
    4143== Background == 
    4244