1. 09 Jan, 2016 2 commits
  2. 08 Jan, 2016 5 commits
    • Rik Steenkamp's avatar
      Fix test for T9367 (Windows) · 1cdf12c4
      Rik Steenkamp authored
      See c8c44fd9.
      
      Reviewed By: thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1745
      1cdf12c4
    • 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
    • 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
    • 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
  3. 07 Jan, 2016 6 commits
    • 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
      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
  4. 06 Jan, 2016 4 commits
  5. 05 Jan, 2016 2 commits
  6. 04 Jan, 2016 2 commits
  7. 03 Jan, 2016 1 commit
  8. 02 Jan, 2016 2 commits
  9. 01 Jan, 2016 2 commits
    • Alan Zimmerman's avatar
      API Annotations: AnnTilde missing · 0b8dc7d4
      Alan Zimmerman authored
      In T10689a.hs, the fragment
      
          data instance Sing (z :: [a])
            = z ~ '[] =>
              SNil
            | forall (m :: a)
                     (n :: [a]). z ~ (:) m n =>
              SCons (Sing m) (Sing n)
      
      ends up with the AnnTilde annotations for the two tildes not attached to
      the final AST.
      
      This patch moves the AnnTilde to the right place.
      
      Closes #11321
      0b8dc7d4
    • Simon Peyton Jones's avatar
      Add strictness for runRW# · f3cc3456
      Simon Peyton Jones authored
      runRW# isn't inlined until CorePrep, so it's good to expose its
      strictness.  Moreover, if we don't we can get obscure failures
      in coreToStg; see Note [runRW arg] in CorePrep.
      
      This fixes Trac #11291, and makes DfltProb1 compile with -O
      always in order to expose it more vigorously
      f3cc3456
  10. 31 Dec, 2015 4 commits
    • Herbert Valerio Riedel's avatar
      Drop redundant/explicit `=1` in `-DFOO=1` flags · 0d207378
      Herbert Valerio Riedel authored
      Quoting the POSIX standard for the `-D` C compiler flag:
      
        -D  name[=value]
      
            Define name as if by a C-language #define directive.
            If no `=value` is given, a value of 1 shall be used.
            [...]
      
      Removing this explicit `=1` definition from `-D` flags which are used to
      define boolean macro constants makes the CLI invocation a bit more
      idiomatic and reduces visual noise in debugging output
      (flags containing `=`s are additionally put in single-quotes by GHC)
      0d207378
    • Simon Peyton Jones's avatar
      Test Trac #11245 · 70eefbc2
      Simon Peyton Jones authored
      70eefbc2
    • Simon Peyton Jones's avatar
      Improve exprIsBottom · 0579fe99
      Simon Peyton Jones authored
      This fixes Trac #11290, by being sligthtly cleverer about finding
      what expressions are bottom.  Actually this might have minor
      other side benefits.
      0579fe99
    • Alan Zimmerman's avatar
      Various API Annotations fixes · 25e4556d
      Alan Zimmerman authored
      - Export unicodeAnn from GHC
      - unicodeAnn for Annlarrowtail was wrong
      - Use actual source for a CImport SourceText
      25e4556d
  11. 30 Dec, 2015 2 commits
    • Ben Gamari's avatar
      T11303: Set maximum heap size · 07779c23
      Ben Gamari authored
      As suggested by @thomie.
      07779c23
    • eir@cis.upenn.edu's avatar
      Fix #11305. · c06b46d0
      eir@cis.upenn.edu authored
      Summary:
      In the fallthrough case when doing a subsumption case, we
      need to deeply instantiate to remove any buried foralls in
      the "actual" type.
      
      Once this validates, please feel free to commit it; I may not
      have the chance to do this on Tuesday. Back in full action on
      Wed.
      
      Test Plan: ./validate, typecheck/should_compiler/T11305
      
      Reviewers: austin, bgamari, hvr
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1715
      
      GHC Trac Issues: #11305
      c06b46d0
  12. 29 Dec, 2015 5 commits
  13. 28 Dec, 2015 2 commits
    • Herbert Valerio Riedel's avatar
      Patch-level increment integer-gmp to 1.0.0.1 · 4a10ecba
      Herbert Valerio Riedel authored
      and update changelog.md
      4a10ecba
    • Herbert Valerio Riedel's avatar
      Synchronise ghci-package version with ghc-package · 01299ca8
      Herbert Valerio Riedel authored
      In order to simplify the task, the version munging logic has
      been radically simplified:
      
      Previously, in cases where the version contained dates as version components,
      the build-system would munge the version of the stage1 ghc package before
      registering the `ghc` package.
      
      However, this hack was already questionable at the time of its introduction
      (c.f. 7b45c46c).
      Simplifying the build-systems by avoiding such hacks may also help the
      shaking-up-ghc effort.
      
      So now we simply munge directly via the `.cabal` files, which gives a simpler
      picture, as now every stage is munged the same. Munging is only active when
      the first patch-level version component is a date. So stable snapshots and release
      candidates are unaffacted (as those have the date in the second patch-level
      version component)
      
      Reviewers: simonmar, bgamari, austin, thomie, ezyang
      
      Reviewed By: bgamari, thomie, ezyang
      
      Differential Revision: https://phabricator.haskell.org/D1673
      01299ca8
  14. 27 Dec, 2015 1 commit
    • Edward Z. Yang's avatar
      The -package flag should select match from right-most package db. · 1b000168
      Edward Z. Yang authored
      The shadowing and default behavior (in the absence of
      -hide-all-packages) prefers packages that come from "later" package
      databases.  So for example if tmp1.d and tmp2.d both expose p-1.0, then
      
          ghc -package-db tmp1.d -package-db tmp2.d
      
      brings the p-1.0 from tmp2.d into scope (and if they have the same IPID,
      tmp2.d shadows tmp1.d).  HOWEVER, -package flags do NOT respect this
      behavior.
      
          ghc -package-db tmp1.d -package-db tmp2.d -package p-1.0
      
      this will force the p-1.0 from tmp1.d to be exposed!  This is
      confusing, so this patch makes the behavior of -package flags
      consistent.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1709
      1b000168