Jens' question gave my a perfect opportunity to open my a pet peeve of 
mine: the ditatorship of `Main'.

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.  This in turn means that to have, for
example several variants of a program, you *must* defer to either
messing with a preprocessor or dealing with multi-directory
compilation, not a pretty sight in either case and especially daunting 
to a beginner.

In this Haskell is in contrast to most other popular programming
language.  The alternative seems quite straightforward and there are
no technical difficulties:

  1) Accept the `main' function can be put in any module, and/or
  2) Introduce a nothing of "anonymous" modules, of which the file
     name can be anything.

I'd prefer 1) alone.  

/Tommy


Reply via email to