1. 22 Mar, 2019 2 commits
  2. 21 Mar, 2019 2 commits
  3. 20 Mar, 2019 1 commit
  4. 17 Mar, 2019 1 commit
    • Ben Gamari's avatar
      ghc-heap: Introduce closureSize · cb61371e
      Ben Gamari authored
      This function allows the user to compute the (non-transitive) size of a
      heap object in words. The "closure" in the name is admittedly confusing
      but we are stuck with this nomenclature at this point.
  5. 15 Mar, 2019 1 commit
  6. 08 Mar, 2019 1 commit
    • Sylvain Henry's avatar
      TH: support raw bytes literals (#14741) · 224a6b86
      Sylvain Henry authored
      GHC represents String literals as ByteString internally for efficiency
      reasons. However, until now it wasn't possible to efficiently create
      large string literals with TH (e.g. to embed a file in a binary, cf #14741):
      TH code had to unpack the bytes into a [Word8] that GHC then had to re-pack
      into a ByteString.
      This patch adds the possibility to efficiently create a "string" literal
      from raw bytes. We get the following compile times for different sizes
      of TH created literals:
      || Size || Before || After  || Gain ||
      || 30K  || 2.307s || 2.299  || 0%   ||
      || 3M   || 3.073s || 2.400s || 21%  ||
      || 30M  || 8.517s || 3.390s || 60%  ||
      Ticket #14741 can be fixed if the original code uses this new TH feature.
  7. 07 Mar, 2019 1 commit
    • Phuong Trinh's avatar
      Fix #16392: revertCAFs in external interpreter when necessary · 7a68254a
      Phuong Trinh authored
      We revert CAFs when loading/adding modules in ghci (presumably to refresh
      execution states and to allow for object code to be unloaded from the runtime).
      However, with `-fexternal-interpreter` enabled, we are only doing it in the
      ghci process instead of the external interpreter process where the cafs are
      allocated and computed. This makes sure that revertCAFs is done in the
      appropriate process no matter if that flag is present or not.
  8. 01 Mar, 2019 1 commit
    • Ryan Scott's avatar
      Visible dependent quantification · c26d299d
      Ryan Scott authored
      This implements GHC proposal 35
      by adding the ability to write kinds with
      visible dependent quantification (VDQ).
      Most of the work for supporting VDQ was actually done _before_ this
      patch. That is, GHC has been able to reason about kinds with VDQ for
      some time, but it lacked the ability to let programmers directly
      write these kinds in the source syntax. This patch is primarly about
      exposing this ability, by:
      * Changing `HsForAllTy` to add an additional field of type
        `ForallVisFlag` to distinguish between invisible `forall`s (i.e,
        with dots) and visible `forall`s (i.e., with arrows)
      * Changing `Parser.y` accordingly
      The rest of the patch mostly concerns adding validity checking to
      ensure that VDQ is never used in the type of a term (as permitting
      this would require full-spectrum dependent types). This is
      accomplished by:
      * Adding a `vdqAllowed` predicate to `TcValidity`.
      * Introducing `splitLHsSigmaTyInvis`, a variant of `splitLHsSigmaTy`
        that only splits invisible `forall`s. This function is used in
        certain places (e.g., in instance declarations) to ensure that GHC
        doesn't try to split visible `forall`s (e.g., if it tried splitting
        `instance forall a -> Show (Blah a)`, then GHC would mistakenly
        allow that declaration!)
      This also updates Template Haskell by introducing a new `ForallVisT`
      constructor to `Type`.
      Fixes #16326. Also fixes #15658 by documenting this feature in the
      users' guide.
  9. 28 Feb, 2019 1 commit
    • Moritz Angermann's avatar
      Cleanup iserv/iserv-proxy · f838809f
      Moritz Angermann authored
      This adds trace messages that include the processes name and as such
      make debugging and following the communication easier.
      It also adds a note regarding the fwd*Call proxy-communication logic
      between the proxy and the slave.
      The proxy will now also poll for 60s to wait for the remote iserv
      to come up. (Alternatively you can start the remote process
      beforehand; and just have iserv-proxy connect to it)
  10. 24 Feb, 2019 2 commits
  11. 23 Feb, 2019 1 commit
  12. 21 Feb, 2019 1 commit
  13. 20 Feb, 2019 2 commits
    • Simon Peyton Jones's avatar
      Add comments about how zip fusion · 2209ea86
      Simon Peyton Jones authored
      Alexandre Balde (rockbmb) points out that the fusion technology
      for foldr2, zip, zipWith, etc is undocumented.  This patch adds
      comments to explain.
    • Ryan Scott's avatar
      Bump ghc version to 8.9 · aa79f65c
      Ryan Scott authored
      Along the way, I discovered that `template-haskell.cabal` was
      hard-coding the GHC version (in the form of its `ghc-boot-th` version
      bounds), so I decided to make life a little simpler in the future by
      generating `template-haskell.cabal` with autoconf.
  14. 19 Feb, 2019 2 commits
    • Niklas Hambüchen's avatar
      base: Document errno behaviour in haddocks. · 76ac103f
      Niklas Hambüchen authored
      Also add an implementation comment for details.
    • Alexandre R. Baldé's avatar
      Fix Haddock comment for Integer datatype · 129a800d
      Alexandre R. Baldé authored
      Move implementation notes for Integer to Haddock named section
      Revert documentation named chunk change [skip ci]
      Haddock's named chunk feature was not used correctly in this case,
      as it cannot export only parts of a Haddock top level comment.
      As such, it was removed and replaced by a message informing the end-
      user to browse the source code for detailed information.
  15. 16 Feb, 2019 2 commits
    • Alec Theriault's avatar
      Remove `parallel` as a submodule · 3cb063c8
      Alec Theriault authored
      `parallel` is used in exactly one place in the GHC tree: the T2317 test.
      It seems almost by accident that it is a submodule; libraries needed
      only for tests should net be included as submodules (see `QuickCheck`,
      `async`, `haskell98`, `regex-compat`, `utf8-string`, `vector` and more
      for examples).
      T2317 will now get run only when `parallel` is installed instead of
      `parallel` being required for the testsuite to run.
    • Ömer Sinan Ağacan's avatar
  16. 15 Feb, 2019 1 commit
    • Alec Theriault's avatar
      Properly escape character literals in Haddocks · 173d0cee
      Alec Theriault authored
      Character literals in Haddock should not be written as plain `'\n'` since
      single quotes are for linking identifiers. Besides, since we want the
      character literal to be monospaced, we really should use `@\'\\n\'@`.
      [skip ci]
  17. 14 Feb, 2019 3 commits
  18. 13 Feb, 2019 1 commit
  19. 12 Feb, 2019 1 commit
  20. 10 Feb, 2019 1 commit
    • Alec Theriault's avatar
      Fix invalid doc comment · e67384f4
      Alec Theriault authored
      The invalid doc comments were exposed by 24b39ce5.
      The fix is to properly escaped the `{-` and `-}` in the doc comments.
      Some other miscallaneous markup issues are also fixed.
  21. 08 Feb, 2019 5 commits
  22. 31 Jan, 2019 7 commits