How to force recompilation of preprocessed files (-F -pgmF ..)

Etienne Laurin etienne at
Thu May 17 11:26:02 CEST 2012

Hello Simon,

You can use Template Haskell's addDependentFile to register a
dependency on external files.

You can also put -fforce-recomp in an OPTIONS_GHC pragma to ask GHC to
always recompile the file.

{-# OPTIONS_GHC -fforce-recomp #-}

Etienne Laurin

2012/5/17 Simon Hengel <sol at>:
> Hi,
> I'm experimenting with a preprocessor to automatically generate test
> drivers[1].  The result depends on the existence of other files on the
> disk.  When files are added or removed, the test driver has to be
> regenerated.
> Ideally ghc would just always recompile that single file (akin to make's
> .PHONY), and it should work with ghci's :reload and with cabal.
> I tried to touch the file within the preprocessor, but this does not
> work.  It seems, that GHC checks the modification time only after
> preprocessing.
> Any ideas how to tackle this?
> Cheers,
> Simon
> [1]

More information about the Glasgow-haskell-users mailing list