Changes between Version 6 and Version 7 of ForeignFunctionInterface


Ignore:
Timestamp:
Apr 15, 2006 7:57:28 PM (8 years ago)
Author:
chak@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ForeignFunctionInterface

    v6 v7  
    2222 
    2323== Topics that need discussion for the integration into Haskell' == 
     24 
     25=== Transparent marshalling of newtypes === 
     26 
     27 1. The *only* reference is in the sentence in 3.2: ''The argument types ati produced by fatype must be marshallable foreign types; that is, each ati is either (1) a basic foreign type or (2) a type synonym or renamed datatype of a marshallable foreign type.''  This is very quiet!  The "renamed datatype" nomenclature is never used in practice (only in the Haskell report), and in any case the sentence is hard to unpick without an example or two. 
     28 2. Consider `foreign import "dynamic" foo :: (Int -> IO Int) -> ...`.  Sect 3.2 should make it clear whether `(Int -> IO Int)` is considered a "marshallable foreign type". 
     29 3. I also found the separation of 4.1.3 from 3.2 quite hard to understand. I was searching in 3.2 for "wrapper" and "dynamic" in vain!  I don't have a good solution to this, except perhaps some explicit fwd refs, and a clear explanation of the logic behind the structure of the document. 
    2430 
    2531=== `unsafePerformIO` ===