Opened 3 years ago

Closed 13 months ago

#7200 closed bug (wontfix)

template-haskell-2.7.0.0 fails to build with GHC 7.0.4 due to missing pragma

Reported by: tibbe Owned by: duncan
Priority: normal Milestone: 7.10.1
Component: Template Haskell Version: 7.0.4
Keywords: Cc: hvr
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Revisions:

Description

It looks like there's a missing pragma:

[1 of 7] Compiling Language.Haskell.TH.Syntax.Internals ( Language/Haskell/TH/Syntax/Internals.hs, dist/build/Language/Haskell/TH/Syntax/Internals.o )
[2 of 7] Compiling Language.Haskell.TH.Syntax ( Language/Haskell/TH/Syntax.hs, dist/build/Language/Haskell/TH/Syntax.o )
[3 of 7] Compiling Language.Haskell.TH.PprLib ( Language/Haskell/TH/PprLib.hs, dist/build/Language/Haskell/TH/PprLib.o )

Language/Haskell/TH/PprLib.hs:55:10:
    Illegal instance declaration for `Show Doc'
      (All instance types must be of the form (T t1 ... tn)
       where T is not a synonym.
       Use -XTypeSynonymInstances if you want to disable this.)
    In the instance declaration for `Show Doc'

Change History (12)

comment:1 Changed 3 years ago by simonpj

  • difficulty set to Unknown

PprLib has {-# LANGUAGE FlexibleInstances #-} now. Maybe it didn't in 2.7.0.0.

I'm not sure what to do here, or who should do it.

Simon

comment:2 Changed 3 years ago by tibbe

Making a 2.7.0.1 bugfix release would be nice. I don't know if that would be an issue given template-haskell's somewhat special relationship with the compiler.

comment:3 follow-up: Changed 3 years ago by simonpj

But this is for 7.0.4 which has been out for ages. It's a non-issue presumably for 7.6 and the current th lib?

comment:4 in reply to: ↑ 3 Changed 3 years ago by tibbe

Replying to simonpj:

But this is for 7.0.4 which has been out for ages. It's a non-issue presumably for 7.6 and the current th lib?

Yes, it's not an issue for at least 7.2 and later. I typically try to support the last 3 releases of GHC in my libraries (not counting 7.2 as it was a tech preview). Lots of distros are still on 7.0.

comment:5 Changed 3 years ago by simonpj

  • Owner set to igloo

Ian can you act on this?

comment:6 Changed 3 years ago by igloo

  • Owner changed from igloo to duncan

There are 5 packages to which the compiler is strongly tied: ghc-prim, base, integer-simple, integer-gmp, template-haskell.

Currently, cabal-install avoids trying to install new versions of base, but doesn't treat the others specially. I think that the best fix would be to avoid installing any of the 5.

What do you think, Duncan?

comment:7 Changed 3 years ago by igloo

One possibility would be to get the info by having GHC print out wired_in_pkgids, although this list includes the dph packages that don't come with GHC.

comment:8 Changed 3 years ago by igloo

  • Milestone set to 7.8.1
  • Priority changed from normal to high

comment:9 Changed 20 months ago by hvr

  • Cc hvr added

comment:10 Changed 14 months ago by thoughtpolice

  • Milestone changed from 7.8.3 to 7.10.1

Bumping priority down (these tickets haven't been closely followed or fixed in 7.4), and moving out to 7.10 and out of 7.8.3.

comment:11 Changed 14 months ago by thoughtpolice

  • Priority changed from high to normal

Actually dropping priority. :)

comment:12 Changed 13 months ago by tibbe

  • Resolution set to wontfix
  • Status changed from new to closed

7.0.4 is quite old now and we have a way to make sure template-haskell doesn't get upgraded by cabal.

Note: See TracTickets for help on using tickets.