#2032: SCC annotations cause compile errors
----------------------+-----------------------------------------------------
Reporter: m4dc4p | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 6.8.2
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Architecture: Unknown
Os: Windows |
----------------------+-----------------------------------------------------
Comment (by simonpj):
Tricky. Do you expect it to parse as:
{{{
take 10 . ({-# SCC "foo" #-} (drop 10 $ s)
}}}
(ie SCC binds less tightly than anything); or
{{{
take 10 . ({-# SCC "foo" #-} (drop 10)) $ s
}}}
(ie SCC binds more tightly than $ but less tightly than appilcation); or
{{{
take 10 . ({-# SCC "foo" #-} drop) 10 $ s
}}}
(ie SCC binds more tightly than anything, including application).
You expected the middle case. GHC is parsing it as the first case. It
isn't clear (to me) which of the three is "right".
As usual, the way to avoid parsing ambiguities is to add parens.
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2032#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs