"S. Alexander Jacobson" <[EMAIL PROTECTED]> wrote,
> The Haskell report says that, by convention, only _HASKELL_ files have a
> .hs or .lhs extension.
>
> ------http://www.haskell.org/onlinereport/literate.html----------
> By convention, the style of comment is indicated by the file extension,
> with ".hs" indicating a usual Haskell file and ".lhs"
> indicating a literate Haskell file
> ------------------------------
>
> It is always a surprise when you try to load a .hs or .lhs file in
> hugs and discover that it really requires cpp.
>
> Either, cpp (or some preprocessor standard), should be made part of the
> Haskell language definition or Haskell files that require a preprocessor
> should have a different extension.
The former would be a good reason to switch to another
programming language. IMHO all uses of cpp in Haskell have
either to do with other non-standard-conformance (eg, using
unboxed values in GHC, but wanting to use Hugs also) or are
plainly unnecessary, because there are much more elegant
solutions to the same problem (eg, OS dependencies and the
like should be handled by autoconf).
The elegance of using cpp in Haskell is about the same as
wearing Doc Martin's for a ballet performance.
Manuel