> In Haskell, the `main' function must reside in the `Main' module.
> Add to this that the `Main' module must reside in a `Main' file and
> you have an unfortunate consequence that you can only have one `Main'
> function in each directory.
Actually, Haskell does not insist that a module named X must reside in
a file called X. Many *implementations* do, but that is not required
behaviour. In particular, since module Main is not imported by any
other modules, it certainly need not live in a file called Main.hs,
and compilers like hbc and nhc13/98 are quite happy with that.
> Even when taking the simple example from my previous^2 post
> ghc -c Add.hs
> ghc -c Main.hs
> ghc -o Main Main.o Add.o
> we notice that it takes three commands, in the right order, each with
> a non optional flag. There is nothing present here that couldn't be
> deducted directly from the contents of `Main.hs', thus a simple `ghc'
> (or `ghc Main' assuming my first plea) command should have sufficed.
Well, the `hmake' tool does all that for you. It is currently packaged
with the nhc13/98 compiler, but it doesn't have any particular
dependency on nhc - it works well with hbc and ghc too - and I'm
planning to give it a separate release in the next couple of weeks.
Watch this space!
Regards,
Malcolm
---------------------------------------- [EMAIL PROTECTED]