From 207875293fea07aa90efe215369629b657d1875a Mon Sep 17 00:00:00 2001 From: "Edward Z. Yang" Date: Sat, 2 Aug 2014 13:50:00 +0100 Subject: Thinning and renaming modules from packages on the command line. Summary: This patch set adds support for extra syntax on -package and related arguments which allow you to thin and rename modules from a package. For example, this argument: -package "base (Data.Bool as Bam, Data.List)" adds two more modules into scope, Bam and Data.List, without adding any of base's other modules to scope. These flags are additive: so, for example, saying: -hide-all-packages -package base -package "base (Data.Bool as Bam)" will provide both the normal bindings for modules in base, as well as the module Bam. There is also a new debug flag -ddump-mod-map which prints the state of the module mapping database. H = hidden, E = exposed (so for example EH says the module in question is exported, but in a hidden package.) Module suggestions have been minorly overhauled to work better with reexports: if you have -package "base (Data.Bool as Bam)" and mispell Bam, GHC will suggest "Did you mean Bam (defined via package flags to be base:Data.Bool)"; and generally you will get more accurate information. Also, fix a bug where we suggest the -package flag when we really need the -package-key flag. NB: The renaming afforded here does *not* affect what wired in symbols GHC generates. (But it does affect implicit prelude!) ToDo: add 'hiding' functionality, to make it easier to support the alternative prelude use-case. ToDo: Cabal support Signed-off-by: Edward Z. Yang Test Plan: new tests and validate Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D113 GHC Trac Issues: #9375 --- testsuite/tests/package/package06.hs | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 testsuite/tests/package/package06.hs (limited to 'testsuite/tests/package/package06.hs') diff --git a/testsuite/tests/package/package06.hs b/testsuite/tests/package/package06.hs new file mode 100644 index 0000000000..096b81b7ba --- /dev/null +++ b/testsuite/tests/package/package06.hs @@ -0,0 +1,3 @@ +module Package06 where +import MyHsTypes +import HsUtils -- cgit v1.2.1