1. 23 Sep, 2015 6 commits
  2. 22 Sep, 2015 4 commits
    • Ben Gamari's avatar
      HscMain: Place CPP macro invocation on one line · 4cdab73f
      Ben Gamari authored
      Clang's CPP implementation seems to barf otherwise
      4cdab73f
    • Ryan Scott's avatar
      DeriveLift extension (#1830) · 089b72f5
      Ryan Scott authored
      Summary:
      This implements -XDeriveLift, which allows for automatic derivation
      of the Lift class from template-haskell. The implementation is based
      off of Ian Lynagh's th-lift library
      (http://hackage.haskell.org/package/th-lift).
      
      Test Plan: ./validate
      
      Reviewers: hvr, simonpj, bgamari, goldfire, austin
      
      Reviewed By: goldfire, austin
      
      Subscribers: osa1, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1168
      
      GHC Trac Issues: #1830
      089b72f5
    • niteria's avatar
      Make derived names deterministic · d4d34a73
      niteria authored
      The names of auxiliary bindings end up in the interface file, and since uniques
      are nondeterministic, we end up with nondeterministic interface files.
      
      This uses the package and module name in the generated name, so I believe it
      should avoid problems from #7947 and be deterministic as well.
      
      The generated names look like this now:
      
        `$cLrlbmVwI3gpI8G2E6Hg3mO`
      
      and with `-ppr-debug`:
      
        `$c$aeson_70dylHtv1FFGeai1IoxcQr$Data.Aeson.Types.Internal$String`.
      
      Reviewed By: simonmar, austin, ezyang
      
      Differential Revision: https://phabricator.haskell.org/D1133
      
      GHC Trac Issues: #4012
      d4d34a73
    • Eric Seidel's avatar
      base: use Show for ErrorCall in uncaughtExceptionHandler · 0b852fcf
      Eric Seidel authored
      The default top-level exception handler now uses the `Show` instance for
      `ErrorCall` when printing exceptions, so it will actually print the out-of-band
      data (e.g. `CallStack`s) in compiled binaries, instead of just printing the
      error message.
      
      This also updates the hpc submodule to fix the test output.
      
      Reviewed By: austin, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1217
      0b852fcf
  3. 21 Sep, 2015 21 commits
  4. 20 Sep, 2015 4 commits
  5. 19 Sep, 2015 2 commits
    • eir@cis.upenn.edu's avatar
      Polish some error messages. · 8ee2b953
      eir@cis.upenn.edu authored
      8ee2b953
    • eir@cis.upenn.edu's avatar
      Fix #10815 by kind-checking type patterns against known kinds. · 2d4db40a
      eir@cis.upenn.edu authored
      tcFamTyPats now must take information about the instantiation of any
      class variables, when checking the instance of an associated type.
      
      Getting this to work out required some unexpected refactoring in
      TcDeriv. TcDeriv needs to look at class instances because of the
      possibility of associated datatypes with `deriving` specs. TcDeriv
      worked over the user-specified instances. But any data family instances
      were already processed, and TcDeriv had no way of finding the rep
      tycons. Indeed, TcDeriv *re-type-checked* any data family instances
      in an attempt to rediscover what GHC already knew. So, this commit
      introduces better tracking of compiled data families between TcInstDcls
      and TcDeriv to streamline all of this.
      2d4db40a
  6. 18 Sep, 2015 1 commit
  7. 17 Sep, 2015 2 commits
    • thomie's avatar
      Docs: make sure all libs are included in index.html (#10879) · 48746fff
      thomie authored
      During the build, when HADDOCK_DOCS=YES, the command 'cd libraries && sh
      gen_contents_index --intree' is run, which calls haddock to generate the
      haddock index at 'libraries/dist-haddock/index.html'.
      
      What it did before was check the ./packages file for all libraries. The
      problem is that 'base' and 'ghc-prim' were folded into the main repo
      some time ago, hence don't have an entry in the ./packages file anymore.
      As a result, 'base' and 'ghc-prim' were missing from the index.html
      file.
      
      It now simply runs haddock on all the all the `.haddock` files in the
      libraries directory.
      
      The only risk is that this could include the extra libraries in the
      index.html, if you ever built them in the past (with
      BUILD_EXTRA_PKGS=YES), even though now you want to exclude them (with
      BUILD_EXTRA_PKGS=NO). gen_contents_index doesn't have access to build
      system variables though (PACKAGES_STAGE1+PACKAGES_STAGE2), so fixing
      this would be a little bit fiddly.
      
      Test Plan:
      'make libraries/dist-haddock/index.html && grep -q base
      libraries/dist-haddock/index.html && echo ok'
      
      Reviewed by: austin
      
      Differential Revision: https://phabricator.haskell.org/D1247
      48746fff
    • Ryan Scott's avatar
      Add namePackage function to template-haskell · 77662e13
      Ryan Scott authored
      Currently there exists a nameBase function (for retrieving a Name's OccName)
      and a nameModule function (for retrieving a Name's ModName), but there is no
      counterpart for PkgNames.
      
      This would be useful for implementing Template Haskell features which need
      to have easy access to a Name's package (e.g., automatically derived Lift
      instances).
      
      Reviewed By: goldfire, austin, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1237
      77662e13