
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.
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-Ha...
[2] https://github.com/ghc/ghc/blob/1d982ba10f590828b78eba992e73315dee33f78a/com...
On Wed, Feb 11, 2015 at 2:26 AM, Francesco Mazzoli
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 Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe