
On Dec 10, 2009, at 12:05 PM, Deniz Dogan wrote:
2009/12/9 Richard O'Keefe
: Here is such a preprocessor. This is meant for people to try out. I don't claim that it's perfect, it's just a quick hack.
Is there any flag I can pass to e.g. GHC to make it use the preprocessor automagically or do I write my own little hack to apply the preprocessor?
It's amazing what you find in the manual: -F runs a custom preprocessor. Let the source file be $S. First, literate Haskell processing is done, producing $L. Then <your program> "$S" "$L" "$O" is run, where $O is where GHC wants your program to write its output. GHC then reads $O. -pgmF cmd tells GHC to use cmd as the custom preprocessor. My little hspp was written before I realised this could be done, so I had to whip up #!/bin/sh exec hspp <"$2" >"$3" and use that. Sample session: m% cat main.hs main = print (take-while (<10) [1..]) m% ghc -F -pgmF hspp.sh main.hs m% a.out [1,2,3,4,5,6,7,8,9] If there isn't a GHC option to count the dragons in the moon, there soon will be. One option that would be nice would be accepting -help as well as --help.