Document that -dynamic is needed for loading compiled code into GHCi
authorSimon Marlow <marlowsd@gmail.com>
Tue, 2 Sep 2014 08:01:45 +0000 (09:01 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Mon, 29 Sep 2014 13:39:42 +0000 (14:39 +0100)
docs/users_guide/ghci.xml

index 729f96f..cbf5b76 100644 (file)
@@ -226,7 +226,7 @@ Ok, modules loaded: Main.
 </screen>
     <para>We can compile D, then load the whole program, like this:</para>
 <screen>
-Prelude> :! ghc -c D.hs
+Prelude> :! ghc -c -dynamic D.hs
 Prelude> :load A
 Compiling B                ( B.hs, interpreted )
 Compiling C                ( C.hs, interpreted )
@@ -241,6 +241,11 @@ Ok, modules loaded: A, B, C, D.
     because the source and everything it depends on
     is unchanged since the last compilation.</para>
 
+    <para>Note the <literal>-dynamic</literal> flag to GHC: GHCi uses
+    dynamically-linked object code (if you are on a platform that
+    supports it), and so in order to use compiled code with GHCi it
+    must be compiled for dynamic linking.</para>
+
     <para>At any time you can use the command
     <literal>:show modules</literal>
     to get a list of the modules currently loaded