1. 21 Dec, 2018 4 commits
    • Simon Peyton Jones's avatar
      Tiny refactor to tcExtendRecEnv · 66ce7de1
      Simon Peyton Jones authored
      In tcExtendRecEnv, there is no need to us setGlobalTypeEnv
      (which side-effects the tcg_type_env_var).  tcExtendRecEnv
      is used only when kind-checking a group of type/class decls
      and no knot-tying via tcg_type_env_var is needed.
      
      There is no change in functionality.
      66ce7de1
    • Simon Peyton Jones's avatar
      Comments only · 28188e06
      Simon Peyton Jones authored
      28188e06
    • Simon Peyton Jones's avatar
      Make candidateQTvs contain tyvar with zonked kinds · 71e26a74
      Simon Peyton Jones authored
      candidateQTyVars was failing to return fully-zonked
      tyvars, and that made things fall over chaotically
      when we try to sort them into a well-scoped telescope.
      Result: Trac #15795
      
      So I made candidateQTvs guarantee to have fully-zonked
      tyvars (i.e. with zonked kinds).  That's a bit annoying
      but not really difficult.
      71e26a74
    • Ryan Scott's avatar
      Fix #16002 by moving a validity check to the renamer · 28f41f1a
      Ryan Scott authored
      Summary:
      The validity check which rejected things like:
      
      ```lang=haskell
      type family B x where
        A x = x
      ```
      
      Used to live in the typechecker. But it turns out that this validity
      check was //only// being run on closed type families without CUSKs!
      This meant that GHC would silently accept something like this:
      
      ```lang=haskell
      type family B (x :: *) :: * where
        A x = x
      ```
      
      This patch fixes the issue by moving this validity check to the
      renamer, where we can be sure that the check will //always// be run.
      
      Test Plan: make test TEST=T16002
      
      Reviewers: simonpj, bgamari
      
      Reviewed By: simonpj
      
      Subscribers: goldfire, rwbarton, carter
      
      GHC Trac Issues: #16002
      
      Differential Revision: https://phabricator.haskell.org/D5420
      28f41f1a
  2. 20 Dec, 2018 3 commits
  3. 19 Dec, 2018 8 commits
  4. 18 Dec, 2018 13 commits
  5. 17 Dec, 2018 12 commits
    • Ben Gamari's avatar
      StgCRun: Disable unwinding on Darwin · 1ebe8438
      Ben Gamari authored
      See #15207.
      1ebe8438
    • Ben Gamari's avatar
      gitlab-ci: Use cabal-install 2.4 on Darwin · f61fc508
      Ben Gamari authored
      f61fc508
    • Ben Gamari's avatar
    • Ben Gamari's avatar
      554ffe96
    • Ben Gamari's avatar
      gitlab-ci: Disable Hadrian linting on Windows · 22c2865a
      Ben Gamari authored
      The lint checks currently fail due to #15950.
      22c2865a
    • Ben Gamari's avatar
      gitlab-ci: Introduce nightly builds · 850b136b
      Ben Gamari authored
      These run slowtest and their artifacts are preserved for two years.
      850b136b
    • Ben Gamari's avatar
      gitlab-ci: Expire artifacts more aggressively · 8eaf733f
      Ben Gamari authored
      Namely after 2 weeks
      8eaf733f
    • Gabor Greif's avatar
      Stomp a few typos and grammaros · caf50f63
      Gabor Greif authored
      Also use 'id'
      caf50f63
    • Zejun Wu's avatar
      Handle :cd in external interpreter in a more robust way · f99d898b
      Zejun Wu authored
      We used to enqueue another command to change directory in the external
      interpreter subprocess, this is not as robust as:
      
      * it can fail with -fno-implict-import-qualified;
      * it doesn't work when we `setGHCiMonad` to something other than `IO`.
      
      Neither of them works if `directory` package is hidden though.
      
      Test Plan:
      ```
      $ inplace/bin/ghc-stage2 --interactive # -fexternal-interpreter
      GHCi, version 8.7.20181213: http://www.haskell.org/ghc/  :? for help
      Prelude> :cd ..
      Prelude> System.Directory.getCurrentDirectory
      "/data/users/watashi"
      Prelude> :!pwd
      /data/users/watashi
      Prelude>
      Leaving GHCi.
      ```
      
        ./validate
      
      Reviewers: simonmar, bgamari, RyanGlScott
      
      Reviewed By: simonmar
      
      Subscribers: rwbarton, carter
      
      Differential Revision: https://phabricator.haskell.org/D5453
      f99d898b
    • Alp Mestanogullari's avatar
      Hadrian: introduce userDefaultFlavour, making default flavour overridable · c42eb2e6
      Alp Mestanogullari authored
      This patch introduces the `userDefaultFlavour` user setting. It should
      be the name of the default flavour to use when no --flavour argument is
      passed. Before this patch, we would just always default to... the
      `default` flavour. With this patch, we default to whatever Flavour whose
      name is `userDefaultFlavour`, therefore providing a way for users to
      "persist" their choice of flavour, not having to repeat --flavour=[...]
      in every hadrian command.
      
      Test Plan:
      Set `userDefaultFlavour = "quickest"`, run `hadrian/build.sh`, check
      that the quickest flavour is indeed picked.
      
      Reviewers: snowleopard, bgamari
      
      Reviewed By: snowleopard
      
      Subscribers: mpickering, rwbarton, carter
      
      GHC Trac Issues: #15890
      
      Differential Revision: https://phabricator.haskell.org/D5454
      c42eb2e6
    • Ben Gamari's avatar
      gitlab-ci: Enable Windows builds · 205762bd
      Ben Gamari authored
      205762bd
    • Zejun Wu's avatar
      Merge sections in profiling .a to .p_o and use it whenever it exists · de56a67a
      Zejun Wu authored
      Summary:
      We do this for vanilla way already.
      Let's also merge sections for profiling way and use it instead of the .a
      library when it exists.
      
      Test Plan:
      ```
       $ inplace/bin/ghc-stage2 --interactive -prof -fexternal-interpreter
       GHCi, version 8.7.20180921: http://www.haskell.org/ghc/  :? for help
       Prelude> pid <- System.Posix.Process.getProcessID
       Prelude> maps <- readFile $ "/proc/" ++ show pid ++ "/maps"
       Prelude> pid
       3807346
       Prelude> putStrLn $ unlines $ take 20 $ lines maps
       00400000-02103000 r-xp 00000000 00:1a 199277344
       /data/users/watashi/ghc/inplace/lib/bin/ghc-iserv-prof
       02104000-02106000 r--p 01d03000 00:1a 199277344
       /data/users/watashi/ghc/inplace/lib/bin/ghc-iserv-prof
       02106000-02417000 rw-p 01d05000 00:1a 199277344
       /data/users/watashi/ghc/inplace/lib/bin/ghc-iserv-prof
       02417000-0280a000 rw-p 00000000 00:00 0
       [heap]
       40098000-400b0000 rwxp 000d2000 00:1a 199276023
       /data/users/watashi/ghc/libraries/bytestring/dist-install/build/HSbytestring-0.10.8.2.p_o
       400b7000-400d8000 rwxp 00000000 00:00 0
       401d1000-401d2000 rwxp 000e9000 00:1a 199276023
       /data/users/watashi/ghc/libraries/bytestring/dist-install/build/HSbytestring-0.10.8.2.p_o
       40415000-40419000 rwxp 0000b000 00:1a 199275165
       /data/users/watashi/ghc/libraries/deepseq/dist-install/build/HSdeepseq-1.4.4.0.p_o
       404f8000-40526000 rwxp 000af000 00:1a 199274234
       /data/users/watashi/ghc/libraries/ghc-prim/dist-install/build/HSghc-prim-0.5.3.p_o
      ```
      
      Reviewers: simonmar, bgamari, austin, hvr
      
      Reviewed By: simonmar
      
      Subscribers: rwbarton, carter
      
      Differential Revision: https://phabricator.haskell.org/D5169
      de56a67a