diff options
author | simonpj@microsoft.com <unknown> | 2010-07-30 12:24:05 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2010-07-30 12:24:05 +0000 |
commit | c800c1633c97a7ead022a142d015bf8db14f04f6 (patch) | |
tree | ef6c3aa7226e53583e51ff4290ff52d88bd604d0 /compiler/parser | |
parent | e3d1ba74f7b1ec4ea7463aab783265b4baaf3366 (diff) | |
download | haskell-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.pp | 10 | ||||
-rw-r--r-- | compiler/parser/ParserCore.y | 10 |
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 |