In docs/ffi-notes.txt, I find the following:
------------------------------------------------------------
o foreign
export static is not implemented.
You can code around this by writing:
foreign import dynamic foo_dynamic :: Addr -> (A ->
B -> C)
foreign label foo_addr ::
Addr
foo = foo_dynamic foo_addr
instead of:
foreign import foo :: A -> B -> C
-------------------------------------------------------------------------
Does anyone understand what this is saying? I can't grok it.
The work around presented here seems to have nothing to do with
foriegn export static. It looks like a workaround to not having
foreign
IMPORT static. (Which we of course dont need a workaround for
:)).
Is something extremely tricky going on or am i just dense?
Anyway, just curious, I have not had any trouble working around by
passing pointers to the C-side using foreign export dynamic.
I have just wondered about this for a long long time :)