diff options
author | Edward Z. Yang <ezyang@cs.stanford.edu> | 2015-10-10 12:01:14 -0700 |
---|---|---|
committer | Edward Z. Yang <ezyang@cs.stanford.edu> | 2016-10-08 00:20:34 -0700 |
commit | 00b530d5402aaa37e4085ecdcae0ae54454736c1 (patch) | |
tree | 2d2963db4abdbcba9c12aea13a26e29e718e4778 /testsuite/tests/backpack/reexport/bkpreex05.bkp | |
parent | 887485a45ae55e81b26b6412b6f9dcf6a497f044 (diff) | |
download | haskell-00b530d5402aaa37e4085ecdcae0ae54454736c1.tar.gz |
The Backpack patch.
Summary:
This patch implements Backpack for GHC. It's a big patch but I've tried quite
hard to keep things, by-in-large, self-contained.
The user facing specification for Backpack can be found at:
https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst
A guide to the implementation can be found at:
https://github.com/ezyang/ghc-proposals/blob/backpack-impl/proposals/0000-backpack-impl.rst
Has a submodule update for Cabal, as well as a submodule update
for filepath to handle more strict checking of cabal-version.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate
Reviewers: simonpj, austin, simonmar, bgamari, goldfire
Subscribers: thomie, mpickering
Differential Revision: https://phabricator.haskell.org/D1482
Diffstat (limited to 'testsuite/tests/backpack/reexport/bkpreex05.bkp')
-rw-r--r-- | testsuite/tests/backpack/reexport/bkpreex05.bkp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/testsuite/tests/backpack/reexport/bkpreex05.bkp b/testsuite/tests/backpack/reexport/bkpreex05.bkp new file mode 100644 index 0000000000..e496ed76fa --- /dev/null +++ b/testsuite/tests/backpack/reexport/bkpreex05.bkp @@ -0,0 +1,28 @@ +unit bar where + signature A(bar) where + data A = A { foo :: Int, bar :: Bool } + +unit foo where + signature A(foo) where + data A = A { foo :: Int, bar :: Bool } + +unit impl where + module A1 where + data A = A { foo :: Int, bar :: Bool } + module A2 where + data A = A { foo :: Int, bar :: Bool } + module A(foo, bar) where + import A1(foo) + import A2(bar) + +-- Kind of boring test now haha + +unit barimpl where + dependency bar[A=impl:A] + +unit fooimpl where + dependency foo[A=impl:A] + +unit foobarimpl where + dependency foo[A=impl:A] + dependency bar[A=impl:A] |