<div dir="ltr">Great, but how can we learn the API, when examples are not working? -.-</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/7/18 Johan Tibell <span dir="ltr">&lt;<a href="mailto:johan.tibell@gmail.com" target="_blank">johan.tibell@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I filed a bug a while back:<br>
<br>
    <a href="http://ghc.haskell.org/trac/ghc/ticket/7752" target="_blank">http://ghc.haskell.org/trac/ghc/ticket/7752</a><br>
<br>
Someone that understands the API needs to fix the doc. :)<br>
<div><div class="h5"><br>
On Thu, Jul 18, 2013 at 7:58 PM, John Blackbox<br>
&lt;<a href="mailto:blackbox.dev.ml@gmail.com">blackbox.dev.ml@gmail.com</a>&gt; wrote:<br>
&gt; Hi!<br>
&gt; Please take a look here: <a href="http://www.haskell.org/haskellwiki/GHC/As_a_library" target="_blank">http://www.haskell.org/haskellwiki/GHC/As_a_library</a><br>
&gt; The examples are not working. Even the simpelst one:<br>
&gt;<br>
&gt; import GHC<br>
&gt;<br>
&gt; import GHC.Paths ( libdir )<br>
&gt;<br>
&gt; import DynFlags ( defaultLogAction )<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; main =<br>
&gt;<br>
&gt;     defaultErrorHandler defaultLogAction $ do<br>
&gt;<br>
&gt;       runGhc (Just libdir) $ do<br>
&gt;<br>
&gt;         dflags &lt;- getSessionDynFlags<br>
&gt;<br>
&gt;         setSessionDynFlags dflags<br>
&gt;<br>
&gt;         target &lt;- guessTarget &quot;test_main.hs&quot; Nothing<br>
&gt;<br>
&gt;         setTargets [target]<br>
&gt;<br>
&gt;         load LoadAllTargets<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; throws:<br>
&gt;<br>
&gt;<br>
&gt; $&gt; ghc -package ghc Main.hs<br>
&gt;<br>
&gt; [1 of 1] Compiling Main             ( Main.hs, Main.o )<br>
&gt;<br>
&gt; Main.hs:6:25:<br>
&gt;<br>
&gt;     Couldn&#39;t match type `DynFlags&#39; with `[Char]&#39;<br>
&gt;<br>
&gt;     Expected type: DynFlags.FatalMessager<br>
&gt;<br>
&gt;       Actual type: DynFlags.LogAction<br>
&gt;<br>
&gt;     In the first argument of `defaultErrorHandler&#39;, namely<br>
&gt;<br>
&gt;       `defaultLogAction&#39;<br>
&gt;<br>
&gt;     In the expression: defaultErrorHandler defaultLogAction<br>
&gt;<br>
&gt;     In the expression:<br>
&gt;<br>
&gt;       defaultErrorHandler defaultLogAction<br>
&gt;<br>
&gt;       $ do { runGhc (Just libdir)<br>
&gt;<br>
&gt;              $ do { dflags &lt;- getSessionDynFlags;<br>
&gt;<br>
&gt;                     setSessionDynFlags dflags;<br>
&gt;<br>
&gt;                     .... } }<br>
&gt;<br>
&gt; Main.hs:7:7:<br>
&gt;<br>
&gt;     Couldn&#39;t match expected type `DynFlags.FlushOut&#39;<br>
&gt;<br>
&gt;                 with actual type `IO SuccessFlag&#39;<br>
&gt;<br>
&gt;     In a stmt of a &#39;do&#39; block:<br>
&gt;<br>
&gt;       runGhc (Just libdir)<br>
&gt;<br>
&gt;       $ do { dflags &lt;- getSessionDynFlags;<br>
&gt;<br>
&gt;              setSessionDynFlags dflags;<br>
&gt;<br>
&gt;              target &lt;- guessTarget &quot;test_main.hs&quot; Nothing;<br>
&gt;<br>
&gt;              setTargets [target];<br>
&gt;<br>
&gt;              .... }<br>
&gt;<br>
&gt;     In the second argument of `($)&#39;, namely<br>
&gt;<br>
&gt;       `do { runGhc (Just libdir)<br>
&gt;<br>
&gt;             $ do { dflags &lt;- getSessionDynFlags;<br>
&gt;<br>
&gt;                    setSessionDynFlags dflags;<br>
&gt;<br>
&gt;                    .... } }&#39;<br>
&gt;<br>
&gt;     In the expression:<br>
&gt;<br>
&gt;       defaultErrorHandler defaultLogAction<br>
&gt;<br>
&gt;       $ do { runGhc (Just libdir)<br>
&gt;<br>
&gt;              $ do { dflags &lt;- getSessionDynFlags;<br>
&gt;<br>
&gt;                     setSessionDynFlags dflags;<br>
&gt;<br>
&gt;                     .... } }<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt;<br>
</blockquote></div><br></div>