1. 25 Dec, 2018 2 commits
  2. 24 Dec, 2018 2 commits
    • Ömer Sinan Ağacan's avatar
      Simplify Core output with -dsuppress-type-signatures · 8a0fca09
      Ömer Sinan Ağacan authored
      Currently we duplicate top-level binder ids for no reason:
      
          $fEqHsExpr_$c/=
          $fEqHsExpr_$c/=
            = \ @ id_a27U $dEq_a27V eta_B2 eta1_B1 ->
                case $fEqHsExpr_$c== $dEq_a27V eta_B2 eta1_B1 of {
                  False -> True;
                  True -> False
                }
      
      with this patch we drop the first line when type signatures are not
      printed (-dsuppress-type-signatures, which is implied by -dsuppress-all)
      
      Reviewers: simonpj, bgamari
      
      Reviewed By: simonpj
      
      Subscribers: rwbarton, carter
      
      Differential Revision: https://phabricator.haskell.org/D5472
      8a0fca09
    • Ben Gamari's avatar
      testsuite: Mark th tests as broken in ext-interp way in LLVM build flavours · 5499f12f
      Ben Gamari authored
      This is due to the failures documented in #16087. The condition here could be
      improved as it matches on `BUILD_FLAVOUR` instead of looking at the compiler
      flags. However, it's better than nothing and I hope we will be able to fix these
      issues before long.
      5499f12f
  3. 23 Dec, 2018 3 commits
  4. 22 Dec, 2018 10 commits
  5. 21 Dec, 2018 19 commits
  6. 20 Dec, 2018 3 commits
  7. 19 Dec, 2018 1 commit
    • Ryan Scott's avatar
      Fix #16030 by refactoring IfaceSyn's treatment of GADT constructors · 9d9e3557
      Ryan Scott authored
      Summary:
      GHCi's `:info` command was pretty-printined GADT
      constructors suboptimally in the following ways:
      
      1. Sometimes, fields were parenthesized when they did not need it,
         e.g.,
      
      ```lang=haskell
      data Foo a where
        MkFoo :: (Maybe a) -> Foo a
      ```
      
         I fixed this by refactoring some code in `pprIfaceConDecl` to be a
         little smarter with respect to GADT syntax. See `pprFieldArgTy`
         and `pprArgTy`.
      2. With `-fprint-explicit-kinds` enabled, there would be times when
         specified arguments would be printed without a leading `@` in GADT
         return types, e.g.,
      
      ```lang=haskell
      data Bar @k (a :: k) where
        MkBar :: Bar k a
      ```
      
         It turns out that `ppr_tc_app`, the function which pretty-prints
         these return types, was not using the proper machinery to print
         out the arguments, which caused the visibilities to be forgotten
         entirely. I refactored `ppr_tc_app` to do this correctly.
      
      Test Plan: make test TEST=T16030
      
      Reviewers: goldfire, bgamari, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: simonpj, rwbarton, carter
      
      GHC Trac Issues: #16030
      
      Differential Revision: https://phabricator.haskell.org/D5440
      9d9e3557