I have started a fresh one here: https://wiki.haskell.org/Foreign_Function_Interface_(FFI)
Very helpful thank you. We NEED people to invest effort in good user guides. Do also include info from https://wiki.haskell.org/GHC/Using_the_FFI as well as https://wiki.haskell.org/FFI Once you’ve absorbed them both, kill them off and replace with forwarding pointers. Or better still overwrite one or the other with your new page (people may have bookmarked the old links). What we don’t want is lots of alternative pages, that don’t refer to each other, with contradictory info. Simon From: Sylvain Henry [mailto:[email protected]] Sent: 13 February 2015 18:28 To: Simon Peyton Jones Cc: Francesco Mazzoli; Manuel Chakravarty; [email protected]; Geoffrey Mainland ([email protected]) Subject: Re: [Haskell-cafe] Anonymous FFI calls Hi, The FFI pages on the wiki are not really in a good shape in my opinion (especially for newcomers). I have started a fresh one here: https://wiki.haskell.org/Foreign_Function_Interface_(FFI) This is just the first draft. I will improve it, probably split it in several pages and merge information from other pages, especially pages linked on https://wiki.haskell.org/FFI Sylvain 2015-02-12 10:02 GMT+01:00 Simon Peyton Jones <[email protected]<mailto:[email protected]>>: | Thanks to everyone who replied! | | It seems like that through a combination of facilities like `libffi' | and `addTopDecls' I can do everything that I wanted to do. Great. But please, please, do write up what you learned on the FFI wiki page https://wiki.haskell.org/GHC/Using_the_FFI Simon | -----Original Message----- | From: Francesco Mazzoli [mailto:[email protected]<mailto:[email protected]>] | Sent: 12 February 2015 09:00 | To: Simon Peyton Jones | Cc: Michael Sloan; Manuel Chakravarty; Geoffrey Mainland | ([email protected]<mailto:[email protected]>); [email protected]<mailto:[email protected]>; haskell | Subject: Re: [Haskell-cafe] Anonymous FFI calls | | Thanks to everyone who replied! | | It seems like that through a combination of facilities like `libffi' | and `addTopDecls' I can do everything that I wanted to do. | | I still want to take a shot at implementing anonymous FFI calls, since | IMHO I think they are a very small but useful addition to the | language. | | Francesco | | On 12 February 2015 at 09:29, Simon Peyton Jones <[email protected]<mailto:[email protected]>> | wrote: | > | Also, I meant to say that addTopDecls is only exported by | > | "Language.Haskell.TH.Syntax". While this is a digression, there are | a | > | few other handy functions that are oddly left out of | > | "Language.Haskell.TH<http://Language.Haskell.TH>": addDependentFile, addModFinalizer, and | possibly | > | more. | > | > That does seem wrong. Do make a patch! | > | > SIMon | > | > | | > | -Michael | > | | > | On Wed, Feb 11, 2015 at 3:25 PM, Simon Peyton Jones | > | <[email protected]<mailto:[email protected]>> wrote: | > | > I would LOVE someone to improve the documentation for addTopDecls. | > | Manuel Chakravarty and Geoff Mainland were responsible for the | > | implementation. | > | > | > | > Simon | > | > | > | > | -----Original Message----- | > | > | From: ghc-devs [mailto:[email protected]<mailto:[email protected]>] On Behalf | Of | > | > | Michael Sloan | > | > | Sent: 11 February 2015 23:19 | > | > | To: Francesco Mazzoli | > | > | Cc: [email protected]<mailto:[email protected]>; haskell | > | > | Subject: Re: [Haskell-cafe] Anonymous FFI calls | > | > | | > | > | It seems like addTopDecls[1] will able to help here. | > | Unfortunately, | > | > | the function is not well documented and not very discoverable | > | > | because it's only exported by Language.Haskell.TH<http://Language.Haskell.TH>. | > | > | | > | > | The documentation doesn't mention that it can only be used to | > | create | > | > | new top level functions and FFI imports[2]. I think that adding | > | FFI | > | > | imports was the main motivation for implementing it. In the | past | > | > | I've wanted to generate instances via this function, but | > | > | unfortunately it's not implemented.. | > | > | | > | > | Hope that helps! | > | > | -Michael | > | > | | > | > | [1] http://hackage.haskell.org/package/template-haskell- | > | > | 2.9.0.0/docs/Language-Haskell-TH-Syntax.html#v:addTopDecls<http://2.9.0.0/docs/Language-Haskell-TH-Syntax.html#v:addTopDecls> | > | > | | > | > | [2] | > | > | | > | https://github.com/ghc/ghc/blob/1d982ba10f590828b78eba992e73315dee33 | > | > | f78a/ | > | > | compiler/typecheck/TcSplice.hs#L818 | > | > | | > | > | On Wed, Feb 11, 2015 at 2:26 AM, Francesco Mazzoli <[email protected]<mailto:[email protected]>> | > | wrote: | > | > | > Hi, | > | > | > | > | > | > I am in a situation where it would be very useful to call C | > | > | > functions without an explicit FFI import. For example, I'd | like | > | > | > to be able to do | > | > | > | > | > | > (foreign import ccall "cadd" :: CInt -> CInt -> CInt) 1 2 | > | > | > | > | > | > instead of declaring the foreign import explicitely at the top | > | level. | > | > | > | > | > | > Is there a way to do this or to achieve similar results in | some | > | > | > other way? | > | > | > | > | > | > If not, I imagine it would be easy to implement such a | facility | > | in | > | > | > GHC, given that the code implementing calling to C functions | > | must | > | > | > already be present to implement "proper" FFI imports. I think | > | > | > such an addition would be useful in many cases. | > | > | > | > | > | > Thanks, | > | > | > Francesco | > | > | > _______________________________________________ | > | > | > Haskell-Cafe mailing list | > | > | > [email protected]<mailto:[email protected]> | > | > | > http://www.haskell.org/mailman/listinfo/haskell-cafe | > | > | _______________________________________________ | > | > | ghc-devs mailing list | > | > | [email protected]<mailto:[email protected]> | > | > | http://www.haskell.org/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list [email protected]<mailto:[email protected]> http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
