#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

Reply via email to