Changes between Version 10 and Version 11 of ForeignFunctionInterface


Ignore:
Timestamp:
Oct 9, 2009 7:50:59 AM (6 years ago)
Author:
chak@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ForeignFunctionInterface

    v10 v11  
    11= Foreign Function Interface = 
    22[[PageOutline]] 
    3  
    4 See ExtensionDescriptionHowto for information on how to write these extension descriptions.  Please add any new extensions to the list of HaskellExtensions. 
     3'''Ticket:''' #35 
    54 
    65== Brief Explanation == 
    7 Adds support for invoking code written in other programming languages from Haskell and vice versa. The FFI is designed as a non-intrusive extension to the Haskell 98 standard. 
     6 
     7The Foreign Function Interface (FFI) adds support for invoking code and accessing data structures implemented in other programming languages and vice versa.  The current proposal encompasses a general mechanism for inter-language operations as well as specific support for interoperating with the C programming language. 
    88 
    99== References == 
    10  * [http://www.cse.unsw.edu.au/~chak/haskell/ffi/ addendum] to Haskell98. 
    11  * [http://www.haskell.org/ghc/docs/latest/html/users_guide/sec-ffi-ghc.html Using the FFI with GHC] 
    12  
    13 == Tickets == 
    14 [[TicketQuery(description~=ForeignFunctionInterface)]] 
     10 * [http://www.cse.unsw.edu.au/~chak/haskell/ffi/ FFI addendum] to Haskell98. 
     11 * [http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html GHC specifics affecting the FFI] 
    1512 
    1613== Pros == 
     
    1916 
    2017== Cons == 
    21  * Inaccurate `foreign import`s can invalidate all guarantees given by Haskell. 
     18 * Inappropriate use can subvert all semantic guarantees provided by Haskell and can cause memory corruption and program crashes. 
     19 
     20== Open Questions == 
     21 
     22== Integration into the report == 
     23 
     24 
    2225 
    2326== Topics that need discussion for the integration into Haskell' ==