Opened 6 years ago

Last modified 4 months ago

#3559 new task

split ghci modules off into their own package

Reported by: igloo Owned by:
Priority: low Milestone: 7.12.1
Component: GHCi Version: 6.10.4
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Test Case:
Blocked By: Blocking:
Related Tickets: Differential Revisions:

Description

ghci code should be split into bits that are always compiled (and always work), and modules that are in a separate ghci package. The current situation means that clients of the GHC API cannot specify whether or not they need the ghci modules (or other code inside GHCI ifdefs), and means that clients may accidentally end up using ghci-only interfaces without realising it. This is not just hypothetical: haddock has grown a dependency on ghci code: #3558.

Change History (8)

comment:1 Changed 6 years ago by simonmar

I don't think we can split off a separate ghci package, because it would be mutually recursive with the ghc package. The main reason for the GHCI #ifdef is that we can only use GHCi in stage 2 when the libraries we dynamically load are the same as the ones that GHC itself is linked with, so that data representations etc. are compatible. We never ship a ghc package without GHCi support, so clients don't need to worry about this.

Now, it's possible we could pull enough code out from inside GHCI to fix the Haddock issue described above, and that's not a bad thing. But I don't think this is an issue that affects any other clients.

comment:2 Changed 4 years ago by igloo

  • Milestone changed from 7.0.1 to 7.0.2

comment:3 Changed 4 years ago by igloo

  • Milestone changed from 7.0.2 to 7.2.1

comment:4 Changed 4 years ago by igloo

  • Milestone changed from 7.2.1 to 7.4.1

comment:5 Changed 3 years ago by igloo

  • Milestone changed from 7.4.1 to 7.6.1
  • Priority changed from normal to low

comment:6 Changed 3 years ago by igloo

  • Milestone changed from 7.6.1 to 7.6.2

comment:7 Changed 10 months ago by thoughtpolice

  • Milestone changed from 7.6.2 to 7.10.1

Moving to 7.10.1.

comment:8 Changed 4 months ago by thoughtpolice

  • Milestone changed from 7.10.1 to 7.12.1

Moving to 7.12.1 milestone; if you feel this is an error and should be addressed sooner, please move it back to the 7.10.1 milestone.

Note: See TracTickets for help on using tickets.