-----------------------------------------------------------------------------
{
-{-# OPTIONS -Wwarn -w #-}
+{-# OPTIONS -Wwarn -w -XNoMonomorphismRestriction #-}
+-- The NoMonomorphismRestriction deals with a Happy infelicity
+-- With OutsideIn's more conservativ monomorphism restriction
+-- we aren't generalising
+-- notHappyAtAll = error "urk"
+-- which is terrible. Switching off the restriction allows
+-- the generalisation. Better would be to make Happy generate
+-- an appropriate signature.
+--
-- The above warning supression flag is a temporary kludge.
-- While working on this module you are encouraged to remove it and fix
-- any warnings in the module. See
buf <- hGetStringBuffer filename
let
init_loc = mkSrcLoc (mkFastString filename) 1 1
- init_state = (mkPState buf init_loc dflags) { lex_state = [0] }
+ init_state = (mkPState dflags buf init_loc) { lex_state = [0] }
-- reset the lex_state: the Lexer monad leaves some stuff
-- in there we don't want.
case unP cmmParse init_state of