1. 18 Jul, 2014 1 commit
  2. 15 Jul, 2014 1 commit
    • Simon Peyton Jones's avatar
      Entirely re-jig the handling of default type-family instances (fixes Trac #9063) · 9b8ba629
      Simon Peyton Jones authored
      In looking at Trac #9063 I decided to re-design the default
      instances for associated type synonyms.  Previously it was all
      jolly complicated, to support generality that no one wanted, and
      was arguably undesirable.
      
      Specifically
      
      * The default instance for an associated type can have only
        type variables on the LHS.  (Not type patterns.)
      
      * There can be at most one default instances declaration for
        each associated type.
      
      To achieve this I had to do a surprisingly large amount of refactoring
      of HsSyn, specifically to parameterise HsDecls.TyFamEqn over the type
      of the LHS patterns.
      
      That change in HsDecls has a (trivial) knock-on effect in Haddock, so
      this commit does a submodule update too.
      
      The net result is good though.  The code is simpler; the language
      specification is simpler.  Happy days.
      
      Trac #9263 and #9264 are thereby fixed as well.
      9b8ba629
  3. 02 Jul, 2014 1 commit
    • Austin Seipp's avatar
      ghc-pkg register/update --enable-multi-instance · dd3a7245
      Austin Seipp authored
      Summary:
      New flag to ghc-pkg register/update to lift the restriction on multiple instances of the same package version being in a db at once.
      
      Lifting the restriction is easy. The tricky bit is checking ghc does something sensible, but from the reading of the code it should treat such instances the same way it does with multiple instances between multiple DBs.
      
      We'll also need a way to unregister by installed package id.
      
      Test Plan: need to test that ghc is doing what we expect, at least if you use it like -hide-all-packages -package-id this -package-id that
      
      Reviewers: ezyang, simonmar
      
      Reviewed By: simonmar
      
      Subscribers: relrod
      
      Projects: #ghc
      
      Differential Revision: https://phabricator.haskell.org/D32
      dd3a7245
  4. 01 Jul, 2014 3 commits
  5. 25 Jun, 2014 3 commits
  6. 18 Jun, 2014 2 commits
  7. 06 Jun, 2014 1 commit
    • Simon Peyton Jones's avatar
      Make the matcher and wrapper Ids in PatSyn into LocalIds, not GlobalIds · 7ac600d5
      Simon Peyton Jones authored
      This was a serious bug, exposed by Trac #9175.  The matcher and wrapper
      must be LocalIds, like record selectors and dictionary functions, for
      the reasons now documented in Note [Exported LocalIds] in Id.lhs
      
      In fixing this I found
       - PatSyn should have an Id inside it (apart from the wrapper and matcher)
         It should be a Name.  Hence psId --> psName, with knock-on consequences
      
       - Tidying of PatSyns in TidyPgm was wrong
      
       - The keep-alive set in Desugar.deSugar (now) doesn't need pattern synonyms
         in it
      
      I also cleaned up the interface to PatSyn a little, so there's a tiny knock-on
      effect in Haddock; hence the haddock submodule update.
      
      It's very hard to make a test for this bug, so I haven't.
      7ac600d5
  8. 05 Jun, 2014 1 commit
  9. 30 May, 2014 1 commit
  10. 29 May, 2014 1 commit
    • Mateusz Kowalczyk's avatar
      Update Haddock submodule. · a518500f
      Mateusz Kowalczyk authored
      This doesn't make any actual changes as to what the source looked like
      at previous commit we were pointing to but I made some foolish reverts
      that I now have to accomodate for. Sorry!
      a518500f
  11. 27 May, 2014 1 commit
  12. 20 May, 2014 1 commit
  13. 19 May, 2014 1 commit
    • Christian Maeder's avatar
      Extract derived constants from nm output for various OSes differently. · 3df1c510
      Christian Maeder authored
      Fixes #8783
      
      .
      
      In order to avoid querying the nm version that does not work on Mac OS X
      we use the "nm -P" output that is supposed to produce (more portable)
      POSIX output and works on all tested OSes (MinGW, Mac OS X, Solaris and
      Linux using GNU nm) although slightly different (as documented). The "nm
      -P" output is actually only needed to recognize the output of a non-GNU
      Solaris nm (all other OSes produce sane outut using "nm" only).
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      3df1c510
  14. 15 May, 2014 2 commits
  15. 14 May, 2014 4 commits
  16. 04 May, 2014 1 commit
  17. 03 May, 2014 2 commits
  18. 02 May, 2014 1 commit
    • Simon Marlow's avatar
      Per-thread allocation counters and limits · b0534f78
      Simon Marlow authored
      This tracks the amount of memory allocation by each thread in a
      counter stored in the TSO.  Optionally, when the counter drops below
      zero (it counts down), the thread can be sent an asynchronous
      exception: AllocationLimitExceeded.  When this happens, given a small
      additional limit so that it can handle the exception.  See
      documentation in GHC.Conc for more details.
      
      Allocation limits are similar to timeouts, but
      
        - timeouts use real time, not CPU time.  Allocation limits do not
          count anything while the thread is blocked or in foreign code.
      
        - timeouts don't re-trigger if the thread catches the exception,
          allocation limits do.
      
        - timeouts can catch non-allocating loops, if you use
          -fno-omit-yields.  This doesn't work for allocation limits.
      
      I couldn't measure any impact on benchmarks with these changes, even
      for nofib/smp.
      b0534f78
  19. 30 Apr, 2014 1 commit
  20. 29 Apr, 2014 1 commit
  21. 27 Apr, 2014 2 commits
  22. 21 Apr, 2014 2 commits
  23. 16 Apr, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Update Cabal submodule to tip of v1.20 branch · 8992d526
      Herbert Valerio Riedel authored
      This corresponds to the RC of the soon-to-be Cabal 1.20 release
      
      One noteworthy change is the removal of the `--with-ranlib` flag
      requiring a small adaptation in the GHC build system.
      
      Moreover two new licences were added, MPL and BSD2.
      
      Due to https://github.com/haskell/cabal/issues/1622
      
       Cabal-1.20 now
      allows to strip libraries as well, this doesn't work well with
      `ghc-cabal copy` being fed a `":"` strip-command argument which was
      simply ignored in the past. The current code tries to retain this
      semantics as backward compat. However, this needs more investigation as
      I'm not sure if/why the `test_bindist` step doesn't want the libraries
      to be stripped on installation.
      Signed-off-by: Herbert Valerio Riedel's avatarHerbert Valerio Riedel <hvr@gnu.org>
      8992d526
  24. 14 Apr, 2014 1 commit
  25. 13 Apr, 2014 1 commit
  26. 11 Apr, 2014 1 commit
  27. 03 Apr, 2014 1 commit
  28. 01 Apr, 2014 1 commit