1. 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
  2. 23 Dec, 2018 3 commits
  3. 22 Dec, 2018 10 commits
  4. 21 Dec, 2018 19 commits
  5. 20 Dec, 2018 3 commits
  6. 19 Dec, 2018 3 commits
    • 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
    • Krzysztof Gogolewski's avatar
      Use unicode arrows with -fprint-unicode-syntax · d555d4be
      Krzysztof Gogolewski authored
      Summary:
      See #8959, this is one more place where we
      can pretty-print Unicode syntax.
      
      Test Plan: validate
      
      Reviewers: nomeata, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, carter
      
      GHC Trac Issues: #8959
      
      Differential Revision: https://phabricator.haskell.org/D5439
      d555d4be
    • chessai's avatar
      don't suggest Rank2Types in error messages (Fixed #16000) · de50f8fd
      chessai authored
      Summary: Rank2Types is deprecated. Don't suggest to users to use it.
      
      Reviewers: bgamari, RyanGlScott, simonpj
      
      Reviewed By: RyanGlScott, simonpj
      
      Subscribers: RyanGlScott, rwbarton, carter
      
      GHC Trac Issues: #16000
      
      Differential Revision: https://phabricator.haskell.org/D5447
      de50f8fd