<div dir="ltr"><div>Are you trying to use inferior haskell mode? That operates separately from ghc-mod/cabal. In particular i think the setting you're looking for is the command to execute in the inferior process:<br></div>
M-x customize<br>search for "Haskell Program Name" and change "ghci" to sth like "ghci -iwhere/my/src/are"</div><div class="gmail_extra"><br><br><div class="gmail_quote">On 21 April 2014 09:30, Arnaud Bailly <span dir="ltr"><<a href="mailto:arnaud.oqube@gmail.com" target="_blank">arnaud.oqube@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">I tried it but to no avail. Still got the same error. I removed ghc-init from my config, just in case, and still have the problem<div>
<br></div><div>Will post on haskell-mode ML…</div><span class="HOEnZb"><font color="#888888"><div><br></div></font></span><div><span class="HOEnZb"><font color="#888888">Arnaud<br></font></span><div><div class=""><div>On 20 Apr 2014, at 16:28, Zsolt Dollenstein <<a href="mailto:zsol.zsol@gmail.com" target="_blank">zsol.zsol@gmail.com</a>> wrote:</div>
<br></div><div><div class="h5"><blockquote type="cite"><div dir="ltr">Have you tried M-x haskell-process-unignore?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Apr 20, 2014 at 10:20 AM, Arnaud Bailly <span dir="ltr"><<a href="mailto:arnaud.oqube@gmail.com" target="_blank">arnaud.oqube@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">This is what I have in my cabal file:<div><br></div><div><span style="white-space:pre-wrap">  </span><b style="color:rgb(52,187,199);font-family:Menlo">library</b><div style="margin:0px;font-family:Menlo">


    <span style="color:#34bbc7"><b>hs-source-dirs</b></span>: ., fay-shared</div><div style="margin:0px;font-family:Menlo">    <span style="color:#34bbc7"><b>exposed-modules</b></span>: Application</div><div style="margin:0px;font-family:Menlo">


                     Foundation</div><p style="margin:0px;font-family:Menlo;min-height:14px"> <br></p><div><div>but I keep getting same error when loading a file that depends on the fay-shared directory (please not that command-line building with cabal runs fine so this is definitely an issue with my emacs settings).</div>


<div><br></div><div>Here is the output I got in haskell interpreter when loading a file that depends on fay-shared/SharedTypes.hs:</div><div><br></div><div><div style="margin:0px;font-family:Menlo;color:rgb(175,173,36)">

<b>GHCi is ignoring: /home/vagrant/yesod-splittest/.ghci (run M-x haskell-process-unignore)                                                                                                                    </b></div>
<div style="margin:0px;font-family:Menlo">The next big Haskell project is about to start!</div><div style="margin:0px;font-family:Menlo">If I break, you can:</div><div style="margin:0px;font-family:Menlo">  1. Restart:           M-x haskell-process-restart</div>


<div style="margin:0px;font-family:Menlo">  2. Configure logging: C-h v haskell-process-log (useful for debugging)</div><div style="margin:0px;font-family:Menlo">  3. General config:    M-x customize-mode</div><div style="margin:0px;font-family:Menlo">


  4. Hide these tips:   C-h v haskell-process-show-debug-tips</div><div style="margin:0px;font-family:Menlo">Changed directory: /home/vagrant/yesod-splittest/</div><div style="margin:0px;font-family:Menlo;color:rgb(195,55,32)">


<b>Import.hs:18:18-28: Could not find module `SharedTypes' …                                                                                                                                                   </b></div>


<div style="margin:0px;font-family:Menlo;color:rgb(195,55,32)"><b>    Use -v to see a list of the files searched for.                                                                                                                                                         </b></div>


<div style="margin:0px;font-family:Menlo;color:rgb(195,55,32)"><b>Compilation failed.                                                                                                                                                                                         </b></div>


<div style="margin:0px;font-family:Menlo;color:rgb(195,55,32)"><b>Import.hs:18:18-28: Could not find module `SharedTypes' …                                                                                                                                                   </b></div>


<div style="margin:0px;font-family:Menlo;color:rgb(195,55,32)"><b>    Use -v to see a list of the files searched for.                                                                                                                                                         </b></div>


<div style="margin:0px;font-family:Menlo;color:rgb(195,55,32)"><b>Compilation failed.                                                                                                                                                                                         </b></div>


<div style="margin:0px;font-family:Menlo;color:rgb(83,48,225)"><b>λ> </b></div></div><div><b><br></b></div><div>Thanks</div><span><font color="#888888">Arnaud</font></span><div><div>

<div><br></div><div> </div><div>On 19 Apr 2014, at 13:05, Andras Slemmer <<a href="mailto:0slemi0@gmail.com" target="_blank">0slemi0@gmail.com</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr"><div><div>If you're using several source directories then simply specify them in your .cabal with hs-source-dirs. So for example if you have a library in src/lib and a test-suite in src/test and your tests use your lib then you'd have something like this in your .cabal<br>



<br></div>library<br></div><div>  exposed-modules: Lib<br></div>  hs-source-dirs: src/lib<br><div><br>test-suite sometest<br>  type:           exitcode-stdio-1.0<br>  main-is:        Test.hs<br>  hs-source-dirs: src/test src/lib<br>



<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 18 April 2014 16:20, Arnaud Bailly <span dir="ltr"><<a href="mailto:arnaud.oqube@gmail.com" target="_blank">arnaud.oqube@gmail.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hello,<div><br><div>I am struggling to get my emacs settings right for doing significant Haskell development, eg. something more involved than a bunch of source files in a single directory. The issue I am running in currently is that when trying to load files in the interpreter, most source paths are missing which means loading inevitably fails. This is especially annoying with tests: To get things working correctly I need to explicitly add in the console</div>



<div><br></div><div>> :set -iwhere/my/src/are</div><div><br></div><div>Is there any configuration I should be aware of in my cabal files or .emacs file that would correctly set the source roots? Am I missing something?</div>



</div><div><br></div><div>Here is my .emacs configuration. Thanks for any help.<br></div><div><br></div><div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(215,57,30)">;; haskell coding                                                                                                                                                                                           </div>



<div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(52,162,161)"><span>(</span><span style="color:#d03cff">require</span><span> '</span>auto-complete<span>)</span></div>
<div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(52,162,161)"><span>(</span><span style="color:#d03cff">require</span><span> '</span>haskell-mode<span>)</span></div>
<div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(52,162,161)"><span>(</span><span style="color:#d03cff">require</span><span> '</span>haskell-cabal<span>)</span></div>
<div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo">(autoload 'ghc-init <span style="color:#af3782">"ghc"</span> nil t)</div>



<div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo">(add-hook 'haskell-mode-hook (<span style="color:#d03cff">lambda</span> () (ghc-init)))</div>



<div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(208,60,255)"><span>(</span>eval-after-load<span> </span><span style="color:#af3782">"haskell-mode"</span></div>



<div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(208,60,255)"><span>  '(</span>progn</div><div style="margin:0px;font-size:11px;font-family:Menlo">     (setq haskell-stylish-on-save t)</div>
<div style="margin:0px;font-size:11px;font-family:Menlo">     (setq haskell-process-args-cabal-repl '(<span style="color:#af3782">"--ghc-option=-ferror-spans"</span></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(175,55,130)">



<span>               </span>"--with-ghc=ghci-ng"<span>))</span></div><div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo">
     (define-key haskell-mode-map (kbd <span style="color:#af3782">"C-,"</span>) 'haskell-move-nested-left)</div><div style="margin:0px;font-size:11px;font-family:Menlo">     (define-key haskell-mode-map (kbd <span style="color:#af3782">"C-."</span>) 'haskell-move-nested-right)</div>



<div style="margin:0px;font-size:11px;font-family:Menlo">     (define-key haskell-mode-map (kbd <span style="color:#af3782">"C-c v c"</span>) 'haskell-cabal-visit-file)</div><div style="margin:0px;font-size:11px;font-family:Menlo">



     (define-key haskell-mode-map (kbd <span style="color:#af3782">"C-c C-c"</span>) 'haskell-compile)</div><div style="margin:0px;font-size:11px;font-family:Menlo">     (define-key haskell-mode-map (kbd <span style="color:#af3782">"C-x C-d"</span>) nil)</div>



<div style="margin:0px;font-size:11px;font-family:Menlo">     (setq haskell-font-lock-symbols t)</div><div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(215,57,30)">



<span>     </span>;; Do this to get a variable in scope                                                                                                                                                                  </div>



<div style="margin:0px;font-size:11px;font-family:Menlo">     (auto-complete-mode)</div><div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(215,57,30)">



<span>     </span>;; from <a href="http://pastebin.com/tJyyEBAS" target="_blank">http://pastebin.com/tJyyEBAS</a>                                                                                                                                                                   </div>



<div style="margin:0px;font-size:11px;font-family:Menlo">     (ac-define-source ghc-mod</div><div style="margin:0px;font-size:11px;font-family:Menlo">       '((depends ghc)</div><div style="margin:0px;font-size:11px;font-family:Menlo">



         (candidates . (ghc-select-completion-symbol))</div><div style="margin:0px;font-size:11px;font-family:Menlo">         (symbol . <span style="color:#af3782">"s"</span>)</div><div style="margin:0px;font-size:11px;font-family:Menlo">



         (cache)))</div><div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(94,52,255)"><span>     (</span><span style="color:#d03cff">defun</span><span> </span>my-ac-haskell-mode<span> ()</span></div>



<div style="margin:0px;font-size:11px;font-family:Menlo">       (setq ac-sources '(ac-source-words-in-same-mode-buffers</div><div style="margin:0px;font-size:11px;font-family:Menlo">                          ac-source-dictionary</div>



<div style="margin:0px;font-size:11px;font-family:Menlo">                          ac-source-ghc-mod)))</div><div style="margin:0px;font-size:11px;font-family:Menlo">     (add-hook 'haskell-mode-hook 'my-ac-haskell-mode)</div>



<div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(94,52,255)">



<span>     (</span><span style="color:#d03cff">defun</span><span> </span>my-haskell-ac-init<span> ()</span></div><div style="margin:0px;font-size:11px;font-family:Menlo">
       (<span style="color:#d03cff">when</span> (member (file-name-extension buffer-file-name) '(<span style="color:#af3782">"hs"</span> <span style="color:#af3782">"lhs"</span>))</div><div style="margin:0px;font-size:11px;font-family:Menlo">



         (auto-complete-mode t)</div><div style="margin:0px;font-size:11px;font-family:Menlo">         (setq ac-sources '(ac-source-words-in-same-mode-buffers</div><div style="margin:0px;font-size:11px;font-family:Menlo">



                            ac-source-dictionary</div><div style="margin:0px;font-size:11px;font-family:Menlo">                            ac-source-ghc-mod))))</div><div style="margin:0px;font-size:11px;font-family:Menlo">



     (add-hook 'find-file-hook 'my-haskell-ac-init)))</div><div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo">(add-hook 'haskell-mode-hook 'turn-on-haskell-decl-scan)</div>



<div style="margin:0px;font-size:11px;font-family:Menlo">(add-hook 'haskell-mode-hook 'turn-on-haskell-indentation)</div><div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(208,60,255)">



<span>(</span>eval-after-load<span> </span><span style="color:#af3782">"which-func"</span></div><div style="margin:0px;font-size:11px;font-family:Menlo">  '(add-to-list 'which-func-modes 'haskell-mode))</div>



<div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(208,60,255)"><span>(</span>eval-after-load<span> </span><span style="color:#af3782">"haskell-cabal"</span></div>



<div style="margin:0px;font-size:11px;font-family:Menlo">    '(define-key haskell-cabal-mode-map (kbd <span style="color:#af3782">"C-c C-c"</span>) 'haskell-compile))</div></div><div><br></div></div><br>



_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div></div><br></div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div></div><br></div></div></blockquote></div><br></div>