An early proposal for the FFI supported importing functions directly from dynamic link libraries:

 

www.haskell.org/hdirect/ffi-a4.ps.gz

 

This looks like it was dropped from the final version of the addendum in favor of C header files as the sole form of import entities.  Not being a C programmer, how would one go about importing a foreign function (e.g. void Foo(void) ) from a dynamic link library (e.g. foo.dll)??   Would someone be willing to provide an explicit example?