summaryrefslogtreecommitdiff
path: root/compiler/parser
diff options
context:
space:
mode:
authorsimonpj@microsoft.com <unknown>2010-07-30 12:24:05 +0000
committersimonpj@microsoft.com <unknown>2010-07-30 12:24:05 +0000
commitc800c1633c97a7ead022a142d015bf8db14f04f6 (patch)
treeef6c3aa7226e53583e51ff4290ff52d88bd604d0 /compiler/parser
parente3d1ba74f7b1ec4ea7463aab783265b4baaf3366 (diff)
downloadhaskell-c800c1633c97a7ead022a142d015bf8db14f04f6.tar.gz
Work around missing type signature in Happy
Happy generates notHappyAtAll = error "Blah" without a type signature, and currently the new typechecker doesn't generalise it. This patch says "no monomorphism restriction" which makes it generalise again. Better would be to add a type sig to Happy's template
Diffstat (limited to 'compiler/parser')
-rw-r--r--compiler/parser/Parser.y.pp10
-rw-r--r--compiler/parser/ParserCore.y10
2 files changed, 18 insertions, 2 deletions
diff --git a/compiler/parser/Parser.y.pp b/compiler/parser/Parser.y.pp
index 6f1b2e449f..b0b7751f02 100644
--- a/compiler/parser/Parser.y.pp
+++ b/compiler/parser/Parser.y.pp
@@ -8,7 +8,15 @@
-- ---------------------------------------------------------------------------
{
-{-# 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
diff --git a/compiler/parser/ParserCore.y b/compiler/parser/ParserCore.y
index 0289cfcc0d..8cfafae9ba 100644
--- a/compiler/parser/ParserCore.y
+++ b/compiler/parser/ParserCore.y
@@ -1,5 +1,13 @@
{
-{-# 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