1. 12 Sep, 2017 3 commits
  2. 09 Sep, 2017 7 commits
  3. 08 Sep, 2017 3 commits
    • David Feuer's avatar
      Deal with unbreakable blocks in Applicative Do · 011e15aa
      David Feuer authored
      The renamer wasn't able to deal with more than a couple strict
      patterns in a row with `ApplicativeDo` when using the heuristic
      splitter. Update it to work with them properly.
      Reviewers: simonmar, austin, bgamari, hvr
      Reviewed By: simonmar
      Subscribers: RyanGlScott, lippling, rwbarton, thomie
      GHC Trac Issues: #14163
      Differential Revision: https://phabricator.haskell.org/D3900
    • Moritz Angermann's avatar
      Drop special handling of iOS and Android · cb4878ff
      Moritz Angermann authored
      As far as GHC is concerned, iOS **is** Darwin, and
      Android **is** Linux.
      Depends on D3352
      Reviewers: austin, hvr, bgamari
      Reviewed By: bgamari
      Subscribers: Ericson2314, ryantrinkle, rwbarton, thomie, erikd
      Differential Revision: https://phabricator.haskell.org/D3579
    • Ben Gamari's avatar
      includes/rts: Drop trailing comma · be514a69
      Ben Gamari authored
      This trailing comma snuck in in a recent patch. There is nothing wrong with the
      comma; it's perfectly valid C99, yet nevertheless Mac OS X's dtrace utility
      chokes on it with,
          dtrace: failed to compile script rts/RtsProbes.d:
                  "includes/rts/EventLogFormat.h", line 245: syntax error near "}"
          make[1]: *** [rts/dist/build/RtsProbes.h] Error 1
  4. 07 Sep, 2017 4 commits
  5. 06 Sep, 2017 4 commits
    • Herbert Valerio Riedel's avatar
      Update xhtml submodule · a04cfcfb
      Herbert Valerio Riedel authored
      This fixes a minor thinko about future module exports
      related to Semigroup/Monoid
    • Gabor Greif's avatar
      Cleanups, remove commented-out code · c6726d6a
      Gabor Greif authored
      and join type signatures
    • Moritz Angermann's avatar
      Clean up opt and llc · 22733532
      Moritz Angermann authored
      The LLVM backend shells out to LLVMs `opt` and `llc` tools. This clean
      up introduces a shared data structure to carry the arguments we pass to
      each tool so that corresponding flags are next to each other. It drops
      the hard coded data layouts in favor of using `-mtriple` and have LLVM
      infer them. Furthermore we add `clang` as a proper tool, so we don't
      rely on assuming that `clang` is called `clang` on the `PATH` when using
      `clang` as the assembler.  Finally this diff also changes the type of
      `optLevel` from `Int` to `Word`, as we do not have negative optimization
      Reviewers: erikd, hvr, austin, rwbarton, bgamari, kavon
      Reviewed By: kavon
      Subscribers: michalt, Ericson2314, ryantrinkle, dfeuer, carter, simonpj,
      kavon, simonmar, thomie, erikd, snowleopard
      Differential Revision: https://phabricator.haskell.org/D3352
    • Ben Gamari's avatar
      rts: Fix use of #if · 0cd467b2
      Ben Gamari authored
  6. 05 Sep, 2017 13 commits
  7. 04 Sep, 2017 1 commit
  8. 02 Sep, 2017 5 commits
    • Ryan Scott's avatar
      Document the Generic(1) laws · 0ec43769
      Ryan Scott authored
      Some code that @dfeuer was writing implicitly depended on these laws,
      but they didn't appear to be enshrined in the Haddocks. Let's do so.
      Test Plan: Read it
      Reviewers: austin, hvr, bgamari, dfeuer
      Reviewed By: dfeuer
      Subscribers: rwbarton, thomie, dfeuer
      Differential Revision: https://phabricator.haskell.org/D3908
    • Ryan Scott's avatar
      Fix #14167 by using isGadtSyntaxTyCon in more places · 8e4229ab
      Ryan Scott authored
      Two places in GHC effectively attempt to //guess// whether a data type
      was declared using GADT syntax:
      1. When reifying a data type in Template Haskell
      2. When pretty-printing a data type (e.g., via `:info` in GHCi)
      But there's no need for heuristics here, since we have a 100% accurate way to
      determine whether a data type was declared using GADT syntax: the
      `isGadtSyntaxTyCon` function! By simply using that as the metric, we obtain
      far more accurate TH reification and pretty-printing results.
      This is technically a breaking change, since Template Haskell reification will
      now reify some data type constructors as `(Rec)GadtC` that it didn't before,
      and some data type constructors that were previously reified as `(Rec)GadtC`
      will no longer be reified as such. But it's a very understandable breaking
      change, since the previous behavior was simply incorrect.
      Test Plan: ./validate
      Reviewers: simonpj, goldfire, austin, bgamari
      Reviewed By: simonpj
      Subscribers: rwbarton, thomie
      GHC Trac Issues: #14167
      Differential Revision: https://phabricator.haskell.org/D3901
    • Ryan Scott's avatar
      Disallow bang/lazy patterns in the RHSes of implicitly bidirectional patsyns · 5dd6b13c
      Ryan Scott authored
      GHC was allowing implicitly bidirectional pattern synonyms with bang
      patterns and irrefutable patterns in the RHS, like so:
      pattern StrictJust a = Just !a
      This has multiple problems:
      1. `Just !a` isn't a valid expression, so it feels strange to allow it in an
         implicitly bidirectional pattern synonym.
      2. `StrictJust` doesn't provide the strictness properties one would expect
         from a strict constructor. (One could imagine a design where the
         `StrictJust` builder infers a bang pattern for its pattern variable, but
         accomplishing this inference in a way that accounts for all possible
         patterns on the RHS, including other pattern synonyms, is somewhat
         awkward, so we do not pursue this design.)
      We nip these issues in the bud by simply disallowing bang/irrefutable patterns
      on the RHS.
      Test Plan: make test TEST="T14112 unidir"
      Reviewers: simonpj, austin, bgamari
      Reviewed By: simonpj
      Subscribers: rwbarton, thomie
      GHC Trac Issues: #14112
      Differential Revision: https://phabricator.haskell.org/D3896
    • Ryan Scott's avatar
      Document the intricacies of ForallC variable quantification better · 6330b0b0
      Ryan Scott authored
      I recently (re-)discovered that `ForallC` quantifies different type variables
      depending on whether `GadtC` is present or not. This is an important
      enough gotcha where I feel like this fact should also be advertised in the
      `template-haskell` documentation itself, so this patch does just that.
      Test Plan: Read it
      Reviewers: goldfire, austin, bgamari
      Subscribers: rwbarton, thomie
      GHC Trac Issues: #13885
      Differential Revision: https://phabricator.haskell.org/D3880
    • Herbert Valerio Riedel's avatar
      Update transformers submodule · 590e7376
      Herbert Valerio Riedel authored
      This updates `transformers` from the v0.5.2 release to the
      v0.5.4 release + unreleased changes
      This is a pre-requisite for the Semigroup=>Monoid implementation