Hello!<br><br>I&#39;m trying to compile a Windows DLL and need to include an additional module (specifically FRP.Yampa).<br>I was successful with a Hello World type of DLL but when I use Yampa I get:<br><br>$ ghc -shared -o hs.dll DLLTest.o DLLTest_stub.o StartEnd.o<br>
 Creating library file: hs.dll.a<br> DLLTest.o:fake:(.text+0x46): undefined reference to `Yampazm0zi9zi2zi3_FRPziYamp<br>a_integral_closure&#39;<br> DLLTest.o:fake:(.text+0x4d): undefined reference to `Yampazm0zi9zi2zi3_FRPziYamp<br>
aziVectorSpace_zdfVectorSpaceDoubleDouble_closure&#39;<br> DLLTest.o:fake:(.text+0x194): undefined reference to `Yampazm0zi9zi2zi3_FRPziYam<br>pa_embed_closure&#39;<br> DLLTest.o:fake:(.text+0x381): undefined reference to `__stginit_Yampazm0zi9zi2zi<br>
3_FRPziYampa_&#39;<br> DLLTest.o:fake:(.data+0x0): undefined reference to `Yampazm0zi9zi2zi3_FRPziYampa<br>_integral_closure&#39;<br> DLLTest.o:fake:(.data+0x4): undefined reference to `Yampazm0zi9zi2zi3_FRPziYampa<br>ziVectorSpace_zdfVectorSpaceDoubleDouble_closure&#39;<br>
 DLLTest.o:fake:(.data+0x38): undefined reference to `Yampazm0zi9zi2zi3_FRPziYamp<br>a_embed_closure&#39;<br> collect2: ld returned 1 exit status<br><br>How can I define the references of Yampa in the DLL?<br><br><br>I also tried to reinstall Yampa shared with:<br>
$ cabal install --reinstall --enable-shared yampa<br>     Could not find module `Data.IORef&#39;:<br>       Perhaps you haven&#39;t installed the &quot;dyn&quot; libraries for package `base-3.0.3.<br> 2&#39;?<br>       Use -v to see a list of the files searched for.<br>
<br>$ cabal install --reinstall --enable-shared base # :)<br> Resolving dependencies...<br> cabal: internal error: impossible<br><br>----<br><br>(StartEnd is taken from: <a href="http://www.haskell.org/ghc//docs/latest/html/users_guide/win32-dlls.html">http://www.haskell.org/ghc//docs/latest/html/users_guide/win32-dlls.html</a> )<br>
<br>DLLTest.hs:<br> {-# LANGUAGE ForeignFunctionInterface, Arrows #-}<br><br> module DLLTest<br><br>

 embeddedSF :: Double -&gt; Double -&gt; Double -&gt; IO Double<br>

 embeddedSF v0 v1 v2 = return . last $ embed integral (v0, [(1.0, Just v1), (1.0, Just v2)])<br>

<br>

 foreign export ccall embeddedSF :: Double -&gt; Double -&gt; Double -&gt; IO Double<br>

<br>