-main-is should be a link time option, not compile time
The -main-is
flag specifies which function name to use as main. However, when doing separate compilation:
ghc -c Foo.hs
ghc Foo.o
You have to give the -main-is
in the first step - the compilation, rather than in the second step, the linking. It feels like this flag should be a link time option, and would give greater flexibility allowing one object file to be used in multiple projects with different main commands.
If you compile with ghc --make
this issue isn't really a problem.
Trac metadata
Trac field | Value |
---|---|
Version | 6.10.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |