[Haskell-cafe] Re: Additonal types for Foreign.C.Types
Ross Mellgren
rmm-haskell at z.odi.ac
Tue Feb 10 18:22:54 EST 2009
fatype is the function argument type. atype[i] are type arguments.
qtycon is a qualified (e.g. possibly with module prefix) type
constructor, e.g. Just
So, for example if you have:
foreign import ccall "string.h strlen" cstrlen :: Ptr CChar -> IO CSize
fatype -> ftype :: ftype
fatype :: fatype
qtycon "Ptr"
atype1 "CChar"
fatype :: frtype
qtycon "IO"
atype1 "CSize"
(I struggled a bit with finding a good way to communicate the
productions chosen, so bear with me)
Make sense?
-Ross
On Feb 10, 2009, at 6:13 PM, Maurí cio wrote:
>> The FFI spec says (at http://www.cse.unsw.edu.au/~chak/haskell/ffi/ffi/ffise3.html#x6-120003.2)
>> :
>
> There I see:
>
> ---
> Foreign types are produced according to the following grammar:
>
> ftype --> frtype
> | fatype -> ftype
> frtype --> fatype
> | ()
> fatype --> qtycon atype[1] ... atype[k] (k > 0)
> ---
>
> I can't understand the "qtycon atype[1]..." line. I did
> search haskell 98 report syntax reference, and saw how
> qtycon and tycon are defined, but I could not understand
> how they are used here.
>
> Thanks for your help,
> Maurício
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list