Hi, Parsing rules seeems to be a little broken. Two examples: 1. The following program compiles fine under 4.08, but fails with a nearly up to date CVS head: module Main where {-# RULES "silly" forall arg . id arg = arg #-} main = putStrLn "Hello World" with error: @zip:haskell 4Q> cghc -O -fglasgow-exts -o hello rules.hs rules.hs:2: parse error on input `main' Compilation had errors 2. With 4.08 this compiles fine, BUT if I turn off glasgow-exts and/or -O : @zip:haskell 4Q> ghc -O -o hello rules.hs rules.hs:5: parse error on input `.' Compilation had errors This bug is present in 4.08 and CVS head. I also noticed that, regardless of flags, rules with a syntax error are always parsed. Shouldn't RULES pragmas be com[letely ignored (possibly with a warning) if glasgow-exts is off? Finally, non-bug related, I didn't see any way of compiling with -O but with rules turned off. Is this possible? I think it is desirable. regards Kevin