#2713: Fixities interact badly with TH under GHC 6.10.1 20081007
---------------------------------+------------------------------------------
Reporter: BenMoseley | Owner:
Type: bug | Status: new
Priority: normal | Component: Template Haskell
Version: 6.10.1 | Severity: normal
Keywords: | Testcase:
Architecture: Unknown/Multiple | Os: Unknown/Multiple
---------------------------------+------------------------------------------
{{{
{-# LANGUAGE TemplateHaskell #-}
module Fixity where
class MyClass a where
(.*.) :: a -> a -> a
main = putStrLn "hi"
-- $( [d| x = undefined |] )
infixr 3 .*.
}}}
Compiling the above with: {{{c:\ghc\ghc-6.10.0.20081007\bin\ghc.exe
--make -ddump-hi ~/Fixity.hs}}} gives:
{{{
==================== FINAL INTERFACE ====================
interface main:Fixity 610020081007
interface hash: 791ca25a8ddea4dee47d108320bf5b50
ABI hash: c2ca52d8c1ffc89265effb15d766f4aa
export-list hash: 9613c0af035884a108b9bebc1c0b08b6
orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e
where
export main:Fixity MyClass|{.*. MyClass} main
module dependencies:
package dependencies: ghc-prim integer base
orphans: base:Control.Exception.Base base:Data.Tuple base:GHC.Base
base:GHC.Float base:GHC.Num
family instance modules:
import base:Prelude eac9ca3c0ae6d00a0fc0f1832a247e5e
import base:System.IO 9fa582151667de94fbfb9074e3c0f1b4
fixities infixr 3 .*.
1bcd9343d420eae1078ef2fa9021dbf8
class MyClass a
RecFlag NonRecursive
.*. :: a -> a -> a
96fb86d3649acbcf89c1f2802a511b0e
main :: GHC.IOBase.IO ()
vectorised variables:
vectorised tycons:
vectorised reused tycons:
}}}
Which is fine. Uncommenting the TH line and recompiling though gives:
{{{
==================== FINAL INTERFACE ====================
interface main:Fixity 610020081007
interface hash: 0a7949a029127113f8c49434e22bcb71
ABI hash: 3e2e66371e835a766a2fdedd54cb2c35
export-list hash: 73f4a7845d4b5048d9321b0e99b46428
orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e
where
export main:Fixity MyClass|{.*. MyClass} main x
module dependencies:
package dependencies: ghc-prim integer base template-haskell
orphans: base:Control.Exception.Base base:Data.Tuple base:GHC.Base
base:GHC.Float base:GHC.Num
family instance modules:
import base:GHC.Err 357889242e9fa603050a70e6dac2a5e4
import base:Prelude eac9ca3c0ae6d00a0fc0f1832a247e5e
import base:System.IO 9fa582151667de94fbfb9074e3c0f1b4
852943708ad257bdcf76e94914bb84b2
class MyClass a
RecFlag NonRecursive
.*. :: a -> a -> a
96fb86d3649acbcf89c1f2802a511b0e
main :: GHC.IOBase.IO ()
41850025600a6740465944638d138bc4
x :: forall a. a
vectorised variables:
vectorised tycons:
vectorised reused tycons:
}}}
...ie the "fixities" entry is lost.
This worked fine in 6.8.2.
http://hackage.haskell.org/trac/ghc/ticket/2632 may be related - but
that was marked as closed/merged on 4th Oct, and I'm using a GHC
20081007.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2713>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs