1. 09 Feb, 2020 7 commits
    • Andreas Klebinger's avatar
      Fix -ddump-stg-final. · b2e18e26
      Andreas Klebinger authored
      Once again make sure this dumps the STG used for codegen.
      b2e18e26
    • Roland Senn's avatar
      Fix #14628: Panic (No skolem Info) in GHCi · 82f9be8c
      Roland Senn authored
      This patch implements the [sugggestion from Simon (PJ)](ghc/ghc#14628 (comment 146559)):
      - Make `TcErrors.getSkolemInfo` return a `SkolemInfo` rather than an `Implication`.
      - If `getSkolemInfo` gets `RuntimeUnk`s, just return a new data constructor in `SkolemInfo`, called `RuntimeUnkSkol`.
      - In `TcErrors.pprSkols` print something sensible for a `RuntimeUnkSkol`.
      
      The `getSkolemInfo` function paniced while formating suggestions to add type annotations (subfunction `suggestAddSig`)
      to a *"Couldn't match type ‘x’ with ‘y’"* error message.
      The `getSkolemInfo` function didn't find any Implication value and paniced.
      With this patch the `getSkolemInfo` function does no longer panic, if it finds `RuntimeUnkSkol`s.
      
      As the panic occured while processing an error message, we don't need to implement any new error message!
      82f9be8c
    • Alp Mestanogullari's avatar
      hadrian: Windows fixes (bindists, CI) · 3ae83da1
      Alp Mestanogullari authored
      This commit implements a few Windows-specific fixes which get us from a CI
      job that can't even get as far as starting the testsuite driver, to a state
      where we can run the entire testssuite (but have test failures to fix).
      
      - Don't forget about a potential extension for the haddock program, when
        preparing the bindist.
      - Build the timeout program, used by the testsuite driver on Windows in place
        of the Python script used elsewhere, using the boot compiler. We could
        alternatively build it with the compiler that we're going to test but this
        would be a lot more tedious to write.
      - Implement a wrapper-script less installation procedure for Windows, in
        `hadrian/bindist/Makefile.
      - Make dependencies a bit more accurate in the aforementioned Makefile.
      - Update Windows/Hadrian CI job accordingly.
      
      This patch fixes #17486.
      3ae83da1
    • Arnaud Spiwack's avatar
      Fix an outdated note link · a906595f
      Arnaud Spiwack authored
      This link appears to have been forgotten in
      0dad81ca .
      a906595f
    • Ben Gamari's avatar
      hadrian: Fix --test-summary argument · f432d8c6
      Ben Gamari authored
      This appears to be a cut-and-paste error.
      f432d8c6
    • Ben Gamari's avatar
      hadrian: Add --test-metrics argument · 2ac784ab
      Ben Gamari authored
      Allowing the test metric output to be captured to a file, a la
      the METRIC_FILE environment variable of the make build system.
      2ac784ab
    • Krzysztof Gogolewski's avatar
      Add a test for #15712 · 1f630025
      Krzysztof Gogolewski authored
      1f630025
  2. 08 Feb, 2020 26 commits
  3. 06 Feb, 2020 7 commits
    • Simon Peyton Jones's avatar
      Comments only · 7c122851
      Simon Peyton Jones authored
      7c122851
    • Simon Peyton Jones's avatar
      Use foldTyCo for exactTyCoVarsOfType · 5541b87c
      Simon Peyton Jones authored
      This entailed
      
      * Adding a tcf_view field to TyCoFolder
      
      * Moving exactTyCoVarsOtType to TcType.  It properly belongs
        there, since only the typechecker calls this function. But
        it also means that we can "see" and inline tcView.
      
      Metric Decrease:
        T14683
      5541b87c
    • Simon Peyton Jones's avatar
      Use foldTyCo for coVarsOfType · 9ca5c88e
      Simon Peyton Jones authored
      9ca5c88e
    • Simon Peyton Jones's avatar
      Simplify closeOverKinds · 0e59afd6
      Simon Peyton Jones authored
      0e59afd6
    • Simon Peyton Jones's avatar
      Use foldTyCo for noFreeVarsOfType · 01a1f4fb
      Simon Peyton Jones authored
      01a1f4fb
    • Simon Peyton Jones's avatar
      Reform the free variable finders for types · ed2f0e5c
      Simon Peyton Jones authored
      This patch delivers on (much of) #17509.
      
      * Introduces the shallow vs deep free variable distinction
      
      * Introduce TyCoRep.foldType,
          foldType :: Monoid a => TyCoFolder env a
                               -> env -> Type -> a
        and use it in the free variable finders.
      
      * Substitution in TyCoSubst
         * ASSERTs are on for checkValidSubst
         * checkValidSubst uses shallowTyCoVarsOfTypes etc
      
      Quite a few things still to do
      
      * We could use foldType in lots of other places
      
      * We could use mapType for substitution.  (Check that we get
        good code!)
      
      * Some (but not yet all) clients of substitution can now
        save time by using shallowTyCoVarsOfTypes
      
      * All calls to tyCoVarsOfTypes should be inspected; most of
        them should be shallow.  Maybe.
      
      * Currently shallowTyCoVarsOfTypes still returns
        unification variables, but not CoVarHoles.
        Reason: we need to return unification variables
        in some of the calls in TcSimplify, eg when promoting.
      
      * We should do the same thing for tyCoFVsOfTypes, which is
        currently unchanged.
      
      * tyCoFVsOfTypes returns CoVarHoles, because of the
        use in TcSimplify.mkResidualConstraints.  See
        Note [Emitting the residual implication in simplifyInfer]
      
      * #17509 talks about "relevant" variables too.
      ed2f0e5c
    • Ben Gamari's avatar
      Move closeOverKinds and friends to TyCoFVs · c4e6b35d
      Ben Gamari authored
      c4e6b35d