1. 28 Nov, 2014 11 commits
    • thomasw's avatar
      Implement Partial Type Signatures · d831b6f4
      thomasw authored
      Summary:
      Add support for Partial Type Signatures, i.e. holes in types, see:
      https://ghc.haskell.org/trac/ghc/wiki/PartialTypeSignatures
      
      This requires an update to the Haddock submodule.
      
      Test Plan: validate
      
      Reviewers: austin, goldfire, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: thomie, Iceland_jack, dominique.devriese, simonmar, carter, goldfire
      
      Differential Revision: https://phabricator.haskell.org/D168
      
      GHC Trac Issues: #9478
      d831b6f4
    • Simon Peyton Jones's avatar
      Rename some of the functions in NameSet, to make the uniform with VarSet etc · 7460dafa
      Simon Peyton Jones authored
      For ages NameSet has used different names,
        eg.   addOneToNameSet   rather than    extendNameSet
              nameSetToList     rather than    nameSetElems
      
      etc.  Other set-like modules use uniform naming conventions.
      This patch makes NameSet follow suit.
      
      No change in behaviour; this is just renaming.
      
      I'm doing this just before the fork so that merging is easier.
      7460dafa
    • Simon Peyton Jones's avatar
      Kind variables in RHS of an associated type instances should be bound on LHS · 171101be
      Simon Peyton Jones authored
      This patche fixes Trac #9574.
      
      The previous Note [Renaming associated types] in RnTypes appears to me to be wrong;
      it confused class and instance declarations.
      
      I have:
      
       * Treated kind and type variables uniformly. Both must be bound on the LHS
         of an associated type instance.  Eg
             instance C ('KProxy :: KProxy o) where
                type F 'KProxy = NatTr (Proxy :: o -> *)
         is illegal because 'o' is not bound on the LHS of the instance.
      
       * Moved the Note to RnSource and fixed it up
      
      This improves the error message from T7938. However it made the code in
      T6118 incorrect. We had:
        instance SingE (a :: Maybe k) where
          type Demote a = Maybe (Demote (Any :: k))
      and that is now rejected, rightly I think.
      171101be
    • Herbert Valerio Riedel's avatar
      Re-activate `integerGmpInternals` test (#9281) · 2eecf348
      Herbert Valerio Riedel authored
      The `integerGmpInternals` test was disabled in
      c774b28f as many of the primitives
      tested in that test weren't available yet w/ `integer-gmp2`.
      
      However, most operations have been reimplemented by now, with the
      exception of
      
          recipModInteger  :: Integer -> Integer -> Integer
          gcdExtInteger    :: Integer -> Integer -> (Integer, Integer)
          powModSecInteger :: Integer -> Integer -> Integer -> Integer
          powModInteger    :: Integer -> Integer -> Integer -> Integer
          powInteger       :: Integer -> Word -> Integer
      
      which are still missing, and will (time permitting) be reimplemented
      over time.
      2eecf348
    • Herbert Valerio Riedel's avatar
      Re-implement `nextPrimeInteger` predicate (#9281) · 8d783110
      Herbert Valerio Riedel authored
      This also adds `nextPrimeWord#` and `nextPrimeBigNat` predicates.
      
      `nextPrimeInteger` has been available since `integer-gmp-0.5.1`
      (added via f4973548).
      8d783110
    • Simon Marlow's avatar
      Add purgeObj() to remove the symbol table entries for an object · 9e6e4796
      Simon Marlow authored
      This allows us to replace an object without actually unloading the old
      object, which is necessary when we know we have references to the old
      object so it can't be completely unloaded.  Using unloadObj() would
      cause the GC (CheckUnload) to repeatedly and fruitlessly try to unload
      the old object.
      9e6e4796
    • Simon Marlow's avatar
      Make the linker API thread-safe · b5e8b3b1
      Simon Marlow authored
      We used to be able to rely on the client to use the API in a
      single-threaded way, but now that the GC calls into the linker to
      unload objects this isn't a safe assumption.
      b5e8b3b1
    • Herbert Valerio Riedel's avatar
      Re-implement `testPrimeInteger` predicate (#9281) · 58dcd5c2
      Herbert Valerio Riedel authored
      This also adds `testPrimeWord#` and `testPrimeBigNat` predicates.
      
      `testPrimeInteger` has been available since `integer-gmp-0.5.1`
      (added via f4973548).
      The `nextPrimeInteger` function is still missing though.
      58dcd5c2
    • Simon Peyton Jones's avatar
      Tidy up tracing somewhat · 342ebb04
      Simon Peyton Jones authored
      This is a knock-on from the -dump-to-file changes.
      (I found that -ddump-cs-trace stuff wasn't coming out!)
      342ebb04
    • Simon Peyton Jones's avatar
      Don't discard a bang on a newtype pattern (Trac #9844) · 227a5668
      Simon Peyton Jones authored
      We were wrongly simply dropping the bang, in tidy_bang_pat.
      227a5668
    • Herbert Valerio Riedel's avatar
      Improve VERSION/GIT_COMMIT_ID handling for sdist · 7dd4c12c
      Herbert Valerio Riedel authored
      This makes `VERSION` updating a bit more robust (the file gets only
      updated if its content would actually change), as well as moving the
      dependency of `VERSION` and `GIT_COMMIT_ID` to the `sdist-ghc-prep`
      target, as that's where it's actually needed.
      
      This fixes the specialised target `make sdist-ghc` not properly
      creating/updating the `VERSION` and `GIT_COMMIT_ID` files before
      creating the ghc source-dist tarball, as well as avoiding stale
      `VERSION` files.
      7dd4c12c
  2. 27 Nov, 2014 11 commits
  3. 26 Nov, 2014 4 commits
  4. 25 Nov, 2014 6 commits
  5. 24 Nov, 2014 8 commits