Building Programs

Malcolm Wallace Malcolm.Wallace@cs.york.ac.uk
Thu, 24 May 2001 15:34:08 +0100


> What's the recommended way of building a system consisting of
> many Haskell modules? Should I use hmake, make or is there
> some other preferred mechanism in the Haskell world?

As Simon PJ already mentioned, hmake is entirely platform independent,
so if there is any likelihood that you may need to change between
Haskell compilers, or to distribute your software in a portable source
form, it is probably the top option.

But for quick hacking, or non-portable software using language
extensions, individual compiler mechanisms such as Hugs' import
chasing, ghc --make, and hbcmake, are just as good.

Writing Makefiles is the least attractive option, even though they
have good portability, because they are clunky and it is tricky to
keep them synchronised with the true source dependencies.

However, I think even when using hmake or ghc --make, you are likely
to end up writing a small and simple Makefile anyway.

Regards,
    Malcolm