
#13631: In GHCi a result is wrong when -fdefer-typed-holes is used with underscore alone -------------------------------------+------------------------------------- Reporter: vanto | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.2 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: Incorrect result Unknown/Multiple | at runtime Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- I open this ticket instead of {{{#13579}}} to restate it and I closed the other.\\ In fact a result of the compiler which I think is wrong misled me.\\ Therefore I close tickets {{{#13602}}} and {{{#13557}}}.\\ In Haskell2010 Language Report it is said that :\\ 1. underscore "_ " all by itself is a reserved identifier.\\ 2. underscore "_" is treated as a lowercase letter, and can occur wherever a lowercase letter can.\\ So {{{_e}}} is an identifier like {{{__}}}\\ GHCi gives a bad result when he computed the code below.\\ {{{ Prelude> :set -fdefer-typed-holes Prelude> let f = map (\x -> True) [_, _] <interactive>:2:27: warning: [-Wtyped-holes] * Found hole: _ :: a0 Where: `a0' is an ambiguous type variable * In the expression: _ In the second argument of `map', namely `[_, _]' In the expression: map (\ x -> True) [_, _] * Relevant bindings include f :: [Bool] (bound at <interactive>:2:5) <interactive>:2:30: warning: [-Wtyped-holes] * Found hole: _ :: a0 Where: `a0' is an ambiguous type variable * In the expression: _ In the second argument of `map', namely `[_, _]' In the expression: map (\ x -> True) [_, _] * Relevant bindings include f :: [Bool] (bound at <interactive>:2:5) Prelude> f [True,True] }}} The underscore "_" is alone , all by itself and yet is recognized as an identifier, and GHCi gives a result.\\ This is the bug. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13631 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler