SV: [Haskell-cafe] RFC: "Native -XCPP" Proposal

Herbert Valerio Riedel hvriedel at
Thu May 21 15:51:10 UTC 2015

On 2015-05-21 at 16:54:11 +0200, Bardur Arantsson wrote:


>> That would be the preferred way from a technical standpoint, as it would
>> avoid fork/exec and make it easier to integrate the CPP-phase tighter
>> into the lexer/parser.
> fork/exec is almost certainly going to be negligable compared to the
> overall compile time anyway. It's not like GHC is fast enough for it to
> matter.

Performance isn't (my) motivation for avoiding fork/exec (and the
equivalent on Win32) but rather avoiding the added complexity of
marshalling/IPC with fork/exec, as opposed to simply calling into a
native Haskell function and crossing process boundaries and having to
deal with the various things that can go wrong with the additional
moving parts you encounter when controlling an external process. So this
would IMO simplify code paths, and moreover I'd expect opportunities to
actually make the Haskell cpphs API richer (in case it isn't already)
and more tailored to GHC's lexer/parser pipeline and error-reporting.

More information about the ghc-devs mailing list