Skip to content
Snippets Groups Projects
  1. Jan 08, 2016
    • Thomas Miedema's avatar
      Build system: fix `pwd` issues on Windows · f7b45c31
      Thomas Miedema authored
      Some parts of the build system require that paths are what msys2 calls
      "mixed style":
        * forwards slashes
        * absolute paths starting with a drive letter followed by a colon
          (e.g. "C:")
      
      The removal of ghc-pwd in 4c56ad36 changed $(TOP) from mixed style to
      unix style, resulting in a broken Windows build for some.
      
      Differential Revision: https://phabricator.haskell.org/D1752
      f7b45c31
    • Simon Marlow's avatar
      Docs for stack traces in GHCi · 2bd05b88
      Simon Marlow authored
      2bd05b88
    • niteria's avatar
      Add a pointer to the relevant paper for InScopeSet · 47ccf4d2
      niteria authored and Ben Gamari's avatar Ben Gamari committed
      This was non-obvious to me when reading the sources and the
      paper provides the motivation and explores the design space.
      
      Test Plan: just a comment
      
      Reviewers: simonpj, austin, ezyang, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1749
      47ccf4d2
    • Simon Marlow's avatar
      Rename the test-way prof_h to normal_h · 10769a1b
      Simon Marlow authored
      10769a1b
    • Simon Marlow's avatar
      Fix +RTS -h when compiling without -prof · c33e7c2b
      Simon Marlow authored
      Summary:
      Was broken by ce1f1607.  I've added a
      test so that hopefully it won't break again.
      
      Test Plan: validate & new test case
      
      Reviewers: bgamari, austin, erikd
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1746
      
      GHC Trac Issues: #11304
      c33e7c2b
    • Jonas Scholl's avatar
      Improve GHC.Event.IntTable performance · 1abb7005
      Jonas Scholl authored and Ben Gamari's avatar Ben Gamari committed
      Speed up GHC.Event.IntTable.lookup by removing the IO context from the
      go helper function. This generates a little bit better code as we can
      avoid repeating the stack check.
      
      Remove unused parameter from GHC.Event.IntTable.updateWith.go and
      directly return a bool instead of a maybe and then checking that whether
      it is a Nothing.
      
      Test Plan: validate
      
      Reviewers: austin, hvr, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1742
      
      GHC Trac Issues: #8793
      1abb7005
    • Ryan Scott's avatar
      Fix Template Haskell's handling of infix GADT constructors · 01634277
      Ryan Scott authored
      This is the second (and hopefully last) fix needed to make TH handle
      GADTs properly (after D1465). This Diff addresses some issues with infix
      GADT constructors, specifically:
      
      * Before, you could not determine if a GADT constructor was declared
        infix because TH did not give you the ability to determine if there is
        a //user-specified// fixity declaration for that constructor. The
        return type of `reifyFixity` was changed to `Maybe Fixity` so that it
        yields `Just` the fixity is there is a fixity declaration, and
        `Nothing` otherwise (indicating it has `defaultFixity`).
      * `DsMeta`/`Convert` were changed so that infix GADT constructors are
        turned into `GadtC`, not `InfixC` (which should be reserved for
        Haskell98 datatype declarations).
      * Some minor fixes to the TH pretty-printer so that infix GADT
        constructors will be parenthesized in GADT signatures.
      
      Fixes #11345.
      
      Test Plan: ./validate
      
      Reviewers: goldfire, austin, bgamari, jstolarek
      
      Reviewed By: jstolarek
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1744
      
      GHC Trac Issues: #11345
      01634277
    • Jan Stolarek's avatar
      6f2e7229
    • Simon Marlow's avatar
      Support for qRecover in TH with -fexternal-interpreter · 09425cbe
      Simon Marlow authored
      Summary: This completes the support for TH with -fexternal-interpreter.
      
      Test Plan: validate
      
      Reviewers: bgamari, ezyang, austin, niteria, goldfire, erikd
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1748
      
      GHC Trac Issues: #11100
      09425cbe
    • Simon Marlow's avatar
      Enable stack traces with ghci -fexternal-interpreter -prof · 6be09e88
      Simon Marlow authored
      Summary:
      The main goal here is enable stack traces in GHCi.  After this change,
      if you start GHCi like this:
      
        ghci -fexternal-interpreter -prof
      
      (which requires packages to be built for profiling, but not GHC
      itself) then the interpreter manages cost-centre stacks during
      execution and can produce a stack trace on request.  Call locations
      are available for all interpreted code, and any compiled code that was
      built with the `-fprof-auto` familiy of flags.
      
      There are a couple of ways to get a stack trace:
      
      * `error`/`undefined` automatically get one attached
      * `Debug.Trace.traceStack` can be used anywhere, and prints the current
        stack
      
      Because the interpreter is running in a separate process, only the
      interpreted code is running in profiled mode and the compiler itself
      isn't slowed down by profiling.
      
      The GHCi debugger still doesn't work with -fexternal-interpreter,
      although this patch gets it a step closer.  Most of the functionality
      of breakpoints is implemented, but the runtime value introspection is
      still not supported.
      
      Along the way I also did some refactoring and added type arguments to
      the various remote pointer types in `GHCi.RemotePtr`, so there's
      better type safety and documentation in the bridge code between GHC
      and ghc-iserv.
      
      Test Plan: validate
      
      Reviewers: bgamari, ezyang, austin, hvr, goldfire, erikd
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1747
      
      GHC Trac Issues: #11047, #11100
      6be09e88
  2. Jan 07, 2016
    • Gabor Greif's avatar
      Typos in docs and comments · c78fedde
      Gabor Greif authored
      c78fedde
    • Simon Peyton Jones's avatar
      Test Trac #10625 · 1ee92293
      Simon Peyton Jones authored
      1ee92293
    • Simon Peyton Jones's avatar
      Make demand analysis understand catch · 9915b656
      Simon Peyton Jones authored
      As Trac #11222, and #10712 note, the strictness analyser
      needs to be rather careful about exceptions.  Previously
      it treated them as identical to divergence, but that
      won't quite do.
      
      See Note [Exceptions and strictness] in Demand, which
      explains the deal.
      
      Getting more strictness in 'catch' and friends is a
      very good thing.  Here is the nofib summary, keeping
      only the big ones.
      
      --------------------------------------------------------------------------------
              Program           Size    Allocs   Runtime   Elapsed  TotalMem
      --------------------------------------------------------------------------------
                fasta          -0.1%     -6.9%     -3.0%     -3.0%     +0.0%
                  hpg          -0.1%     -2.0%     -6.2%     -6.2%     +0.0%
             maillist          -0.1%     -0.3%      0.08      0.09     +1.2%
      reverse-complem          -0.1%    -10.9%     -6.0%     -5.9%     +0.0%
               sphere          -0.1%     -4.3%      0.08      0.08     +0.0%
                 x2n1          -0.1%     -0.0%      0.00      0.00     +0.0%
      --------------------------------------------------------------------------------
                  Min          -0.2%    -10.9%    -17.4%    -17.3%     +0.0%
                  Max          -0.0%     +0.0%     +4.3%     +4.4%     +1.2%
       Geometric Mean          -0.1%     -0.3%     -2.9%     -3.0%     +0.0%
      
      On the way I did quite a bit of refactoring in Demand.hs
      9915b656
    • Simon Peyton Jones's avatar
      Turn AThing into ATcTyCon, in TcTyThing · a5cea73c
      Simon Peyton Jones authored
      This change tidies up and simplifies (a bit) the knot-tying
      when kind-checking groups of type and class declarations.
      
      The trouble (shown by Trac #11356) was that we wanted an error message
      (a kind-mismatch) that involved a type mentioned a (AThing k), which
      blew up.
      
      Since we now seem to have TcTyCons, I decided to use them here.
      It's still not great, but it's easier to understand and more robust.
      a5cea73c
    • Simon Peyton Jones's avatar
      Use an Implication in 'deriving' error · 02c1c573
      Simon Peyton Jones authored
      Trac #11437 showed that erroneous constraints from a 'deriving'
      clause need to be wrapped in an Implication to properly scope
      their skolems.
      
      The main change is in TcDeriv.simplifyDeriv; the call to
      buildImplicationFor is new.
      02c1c573
    • Simon Peyton Jones's avatar
      Refactor simpl_top · dc970966
      Simon Peyton Jones authored
      simpl_top was being polluted with Safe Haskell stuff which was only
      used in one of its four calls.  This moves the Safe Haskell stuff
      to the place it is actually used
      dc970966
    • Simon Peyton Jones's avatar
      Inline solveTopConstraints · 29b46327
      Simon Peyton Jones authored
      It was only called in one place; easier to inline it
      29b46327
    • Simon Peyton Jones's avatar
      Comment wibble · 4dda4edb
      Simon Peyton Jones authored
      4dda4edb
    • Simon Peyton Jones's avatar
      Tidy up tidySkolemInfo · 290a553e
      Simon Peyton Jones authored
      Previously tidySkolemInfo used tidyOpenType, and returned a new
      TidyEnv.  But that's not needed any more, because all the skolems
      should be in scope in the constraint tree.
      
      I also removed a (now-unnecessary) field of UnifyForAllSkol
      290a553e
    • Simon Peyton Jones's avatar
      Spelling in a comment · 97c49e9e
      Simon Peyton Jones authored
      97c49e9e
    • Simon Peyton Jones's avatar
      Tiny refactor · 3f980457
      Simon Peyton Jones authored
      3f980457
    • Simon Peyton Jones's avatar
      Remove unused export · 0839a668
      Simon Peyton Jones authored
      0839a668
  3. Jan 06, 2016
  4. Jan 05, 2016
    • Duncan Coutts's avatar
      Extend ghc environment file features · aa699b94
      Duncan Coutts authored and Ben Gamari's avatar Ben Gamari committed
      A set of changes to enable local ghc env files to be useful for tools
      like cabal. Ultimately it will allow cabal to maintain a ghc env file so
      that users can simple run ghc or ghci in a project directory and get the
      expected environment of the project.
      
      Change the name of .ghc.environment files to include the platform and
      ghc version, e.g. .ghc.environment.x86_64-linux-7.6.3, since their
      content is version specific. Strictly speaking this is not backwards
      compatible, but we think this feature is not widely used yet.
      
      "Look up" for a local env file, like the behaviour of git/darcs etc. So
      you can be anywhere within a project and get the expected environment.
      
      Don't look for local env files when -hide-all-packages is given.
      
      Extend the syntax of env files to allow specifying package dbs too.
      
      Test Plan:
      Currently completely untested. Compiles, that is all.
      Sorry, have to disappear for the hols.
      
      Reviewers: hvr, ezyang, austin, bgamari
      
      Reviewed By: ezyang, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1668
      
      GHC Trac Issues: #11268
      aa699b94
    • Ben Gamari's avatar
      StgCmmForeign: Break up long line · bd702f49
      Ben Gamari authored
      bd702f49
    • Ben Gamari's avatar
      StgCmmForeign: Push local register creation into code generation · bbee3e16
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      The interfaces to {save,load}ThreadState were quite messy due to the
      need to pass in local registers (produced with draws from a unique
      supply) since they were used from both FCode and UniqSM.
      
      This, however, is entirely unnecessary as we already have an
      abstraction to capture this effect: MonadUnique. Use it.
      
      This is part of an effort to properly represent stack unwinding
      information
      for foreign calls.
      
      Test Plan: validate
      
      Reviewers: austin, simonmar
      
      Reviewed By: simonmar
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1733
      bbee3e16
    • Ben Gamari's avatar
      Add Cabal synopses and descriptions · e32a6e1f
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      Various people (myself included) have complained about the lack of
      useful descriptions for the various packages included in GHC's source
      tree. Fix this.
      
      Test Plan: Validate
      
      Reviewers: austin, thomie
      
      Reviewed By: thomie
      
      Subscribers: angerman, ezyang
      
      Differential Revision: https://phabricator.haskell.org/D1736
      e32a6e1f
    • Georgios Karachalias's avatar
      Remove -Wtoo-many-guards from default flags (fixes #11316) · 77494fa9
      Georgios Karachalias authored and Ben Gamari's avatar Ben Gamari committed
      Since #11316 indicates that having flag `-Wtoo-many-guards`
      enabled by default causes issues, the simplest thing is to
      remove it. This patch removes it from the default list, it
      updates the docs and removes the suppression flags for
      `T783` and `types/OptCoercion.hs`
      
      Test Plan: validate
      
      Reviewers: bgamari, austin, goldfire
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1737
      
      GHC Trac Issues: #11316
      77494fa9
    • Ben Gamari's avatar
      ghc.mk: Add reference to Trac #5987 · cdeefa44
      Ben Gamari authored
      cdeefa44
    • Ben Gamari's avatar
      Release notes: Mention remote GHCi · 1f526d2a
      Ben Gamari authored
      1f526d2a
    • Joachim Breitner's avatar
      Add (failing) test case for #11347 · 1a8b752d
      Joachim Breitner authored
      Unfortunately, I could not add the expected error message, so if someone
      accidentally fixes this bug, this test will still be failing (no harm).
      But maybe someone stumbles over it then and can update the expected
      output.
      1a8b752d
Loading