"Frank A. Christoph" <[EMAIL PROTECTED]> wrote,
> Manuel Chakravarty wrote:
> > The problem is that a pre-processor adds a new level of
> > semantic complexity to the language - so if we can do
> > without it, we'll definitely make our lives simpler.
> >
> > Besides, one nice property of Haskell is its relatively
> > (compared to other languages) precise semantic definition
> > (ie, the translation to the Haskell kernel). A
> > pre-processor wouldn't fit nicely in here, I suppose.
>
> Camlp4 is not part of the language definition for Ocaml, and I don't know if
> Jan is necessarily advocating that an analogue would need to be part of the
> one for Haskell. If you don't mind parsing your source twice, a Camlp4-like
> processor can just output plain old Haskell. The actual Camlp4 can also
> output a binary form of Ocaml's ASTs, and a special switch on the compiler
> (there is only one implementation of Ocaml! :) reads it in directly and
> avoids reparsing.
If you have only one implementation of a language, things
are easier. If we want to get a decent set of good
libraries for Haskell, we need solutions that work across
different systems. At the moment writing Haskell code for
Real World Problems (tm), which is portable across Haskell
systems is a pain. Something like a pre-processor, which is
expected to be used across a wide range of programs, needs
to be standardised; otherwise, it is causing more problems
than it solves.
Manuel