I got -main-is to work with a single Haskell file, but it seems to have trouble with multiple files.<br><br>$ cat scriptedmain.hs<br>#!/usr/bin/env runhaskell<br><br>module ScriptedMain where<br><br>meaningOfLife :: Int<br>

meaningOfLife = 42<br><br>main :: IO ()<br>main = putStrLn $ &quot;Main: The meaning of life is &quot; ++ show meaningOfLife<br>$ cat test.hs<br>#!/usr/bin/env runhaskell<br><br>module Test where<br><br>import ScriptedMain hiding (main)<br>

<br>main :: IO ()<br>main = putStrLn $ &quot;Test: The meaning of life is &quot; ++ show meaningOfLife<br>$ ghc -o scriptedmain -main-is ScriptedMain scriptedmain.hs<br>$ ./scriptedmain<br>Main: The meaning of life is 42<br>

$ ghc -o test -main-is Test.main test.hs scriptedmain.hs<br>compilation IS NOT required<br>ld: duplicate symbol _ZCMain_main_info in scriptedmain.o and test.o<br>collect2: ld returned 1 exit status<br clear="all"><div><br>

</div>Cheers,<div><br></div><div>Andrew Pennebaker</div><div><a href="http://www.yellosoft.us" target="_blank">www.yellosoft.us</a></div><br>
<br><br><div class="gmail_quote">On Sun, Mar 6, 2011 at 5:54 PM, Daniel Fischer <span dir="ltr">&lt;<a href="mailto:daniel.is.fischer@googlemail.com">daniel.is.fischer@googlemail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im">On Sunday 06 March 2011 23:32:43, Andrew Pennebaker wrote:<br>
&gt; Is there a way to compile a Haskell script with a different module name<br>
&gt; than Main?<br>
&gt;<br>
<br>
</div>$ ghc -main-is ScriptedMain --make ScriptedMain<br>
<br>
The -main-is flag tells GHC what to regard as Main.main.<br>
Give it a module name (Foo) to say main is Foo.main, a function name (bar)<br>
to tell it main is Main.bar or a quailfied function name (Foo.bar) to tell<br>
it main is function bar in module Foo.<br>
</blockquote></div><br>