[GHC] #10266: Split base for Backpack
GHC
ghc-devs at haskell.org
Wed Apr 8 08:26:52 UTC 2015
#10266: Split base for Backpack
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner: ezyang
Type: task | Status: new
Priority: normal | Milestone:
Component: | Version: 7.11
libraries/base | Operating System: Unknown/Multiple
Keywords: backpack | Type of failure: None/Unknown
Architecture: | Blocked By:
Unknown/Multiple | Related Tickets:
Test Case: |
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
Let's resurrect #1338 and #1580. Our new concrete goal is to have users be
able to replace 'base' with 'base-sig', which is some signature
representing the modules from 'base' which we depend on. Since 'base' is
a big, complicated package, the ability to specify subsets of 'base' is
very useful: it can be used to define things like Haskell'98 base, base
without any unsafe operations, etc.
Right now, all wired in things live in ghc-prim (I believe). This is good,
since we can't reasonably abstract wired in things away with a signature:
GHC will always put them in some well-known place. However, this is not
enough: there are many known-key/Rdr things the compiler knows about too,
which need to be placed in specific package + module locations for GHC to
be able to reference them; e.g. when deriving instances, etc.
At the moment, most of these identifiers live in 'base', which is no good.
So, here's the proposal: all non-rebindable GHC-known identifiers (as per
PrelNames) should be moved to ghc-prim (or perhaps a new package? I don't
really care either way) and reexported from the old packages which they
were available from base. I'll try to work out in detail what moves, how
to avoid orphan instances, etc.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10266>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list