ghc.git
4 years agoRemove -ddump-core-pipeline flag
Jan Stolarek [Wed, 5 Nov 2014 12:43:48 +0000 (13:43 +0100)] 
Remove -ddump-core-pipeline flag

4 years agoRemove -ddump-simpl-phases flag
Jan Stolarek [Wed, 5 Nov 2014 12:37:25 +0000 (13:37 +0100)] 
Remove -ddump-simpl-phases flag

4 years agoClarify confusing notice from `make maintainer-clean`
Jan Stolarek [Wed, 5 Nov 2014 08:39:50 +0000 (09:39 +0100)] 
Clarify confusing notice from `make maintainer-clean`

4 years agoAdd doctest examples for Data.Either
Michael Orlitzky [Thu, 6 Nov 2014 07:29:26 +0000 (08:29 +0100)] 
Add doctest examples for Data.Either

Add doctest examples for every data type and function in `Data.Either`

Differential Revision: https://phabricator.haskell.org/D443

4 years agoAdd a comment about stack checks
Simon Marlow [Tue, 4 Nov 2014 21:32:26 +0000 (21:32 +0000)] 
Add a comment about stack checks

4 years agoDisable an assertion; see comment
Simon Marlow [Tue, 4 Nov 2014 21:32:12 +0000 (21:32 +0000)] 
Disable an assertion; see comment

4 years agoFix a couple of inaccurate stack checks
Simon Marlow [Tue, 4 Nov 2014 21:31:00 +0000 (21:31 +0000)] 
Fix a couple of inaccurate stack checks

4 years agoFix bugs in debug printing
Simon Marlow [Tue, 4 Nov 2014 15:52:23 +0000 (15:52 +0000)] 
Fix bugs in debug printing

4 years agoFix a couple of bugs in the way info tables are generated for 64-bit platforms
Simon Marlow [Tue, 4 Nov 2014 15:51:56 +0000 (15:51 +0000)] 
Fix a couple of bugs in the way info tables are generated for 64-bit platforms

1. The offset was a full word, but it should actually be a 32-bit
offset on 64-bit platforms.
2. The con_desc string was allocated separately, which meant that it
might be out of range for a 32-bit offset.

These bugs meant that +RTS -Di (interpreter debugging) would sometimes
crash on 64-bit.

4 years agoFix typo in testsuite Makefile
Herbert Valerio Riedel [Wed, 5 Nov 2014 13:05:48 +0000 (14:05 +0100)] 
Fix typo in testsuite Makefile

This is introduced in aa4799534225e3fc6bbde0d5e5eeab8868cc3111
and would cause indeterministic testsuite failures in `sigof02dmt`

4 years agoAdd `isSubsequenceOf` to Data.List (#9767)
Alexander Berntsen [Wed, 5 Nov 2014 11:32:06 +0000 (12:32 +0100)] 
Add `isSubsequenceOf` to Data.List (#9767)

Niklas Hambüchen suggested that we add the dual of `subsequences`,
isSubsequenceOf (like `isPrefixOf` to `inits` & `isSuffixOf` to `tails`).
It was a simple and noncontroversial proposal which passed unanimously.

For more details see the original proposal discussion at
https://www.haskell.org/pipermail/libraries/2014-November/024063.html

Differential Revision: https://phabricator.haskell.org/D435

Signed-off-by: Alexander Berntsen <alexander@plaimi.net>
4 years agoClean-up Haddock in `Data.Functor`
Herbert Valerio Riedel [Wed, 5 Nov 2014 11:19:13 +0000 (12:19 +0100)] 
Clean-up Haddock in `Data.Functor`

This mostly cleans up irregularities introduced in
68255588f89462e542c502f6f92548712808032f (re D352) as well as making
sure Haddock is able to resolve all references.

4 years agoRemove redundant contexts from Foldable methods
David Feuer [Wed, 5 Nov 2014 07:42:59 +0000 (08:42 +0100)] 
Remove redundant contexts from Foldable methods

New `Foldable` methods accidentally had `Foldable` contexts, which led
to type roles being assigned incorrectly and preventing GND from
deriving `Foldable` instances. Removing those fixes #9761.

Moreover, this patch takes advantage of this fix by deriving
`Foldable` (and `Eq`) for `UniqFM`.

Differential Revision: https://phabricator.haskell.org/D425

4 years agoTemporarily disable T3064 (see #9771)
Herbert Valerio Riedel [Wed, 5 Nov 2014 07:39:10 +0000 (08:39 +0100)] 
Temporarily disable T3064 (see #9771)

This disables T3064 temporarily as it puts a strain on buildbots
during validation exhausting all available memory.

4 years agoA little refactoring of HsSplice and friends
Simon Peyton Jones [Tue, 4 Nov 2014 14:58:13 +0000 (14:58 +0000)] 
A little refactoring of HsSplice and friends

Plus adding comments.

The most substantive change is that PendingTcSplice becomes a proper
data type rather than a pair; and PendingRnSplice uses it

4 years agoRe-center perf-numbers for T5631
Herbert Valerio Riedel [Tue, 4 Nov 2014 14:27:17 +0000 (15:27 +0100)] 
Re-center perf-numbers for T5631

4 years agoRemove redundant "Minimal complete definition"-comments
Herbert Valerio Riedel [Tue, 4 Nov 2014 10:43:29 +0000 (11:43 +0100)] 
Remove redundant "Minimal complete definition"-comments

Those manual descriptions in Haddock strings have become redundant since
Haddock gained the ability to print the minimal complete definition as
specified via `{-# MINIMAL #-}` annotation (or otherwise inferred by
GHC).

Moreover, this commit moves all `{-# MINIMAL #-}` annotations in `base`
to the start of the respective `class` definitions, as this is more
readable and matches more closely the way Haddock renders that
information.

4 years agoTest Trac #9750
Simon Peyton Jones [Tue, 4 Nov 2014 10:37:38 +0000 (10:37 +0000)] 
Test Trac #9750

4 years agoTest Trac #9081
Simon Peyton Jones [Tue, 4 Nov 2014 10:35:05 +0000 (10:35 +0000)] 
Test Trac #9081

4 years agoUpdates to safePkg01 under Edward's guidance
Simon Peyton Jones [Tue, 4 Nov 2014 08:36:17 +0000 (08:36 +0000)] 
Updates to safePkg01 under Edward's guidance

4 years agoSimon's major commit to re-engineer the constraint solver
Simon Peyton Jones [Mon, 3 Nov 2014 17:23:11 +0000 (17:23 +0000)] 
Simon's major commit to re-engineer the constraint solver

The driving change is this:

* The canonical CFunEqCan constraints now have the form
       [G] F xis ~ fsk
       [W] F xis ~ fmv
  where fsk is a flatten-skolem, and fmv is a flatten-meta-variable
  Think of them as the name of the type-function application

See Note [The flattening story] in TcFlatten.  A flatten-meta-variable
is distinguishable by its MetaInfo of FlatMetaTv

This in turn led to an enormous cascade of other changes, which simplify
and modularise the constraint solver.  In particular:

* Basic data types
    * I got rid of inert_solved_funeqs altogether. It serves no useful
      role that inert_flat_cache does not solve.

    * I added wl_implics to the WorkList, as a convenient place to
      accumulate newly-emitted implications; see Note [Residual
      implications] in TcSMonad.

    * I eliminated tcs_ty_binds altogether. These were the bindings
      for unification variables that we have now solved by
      unification.  We kept them in a finite map and did the
      side-effecting unification later.  But in cannonicalisation we
      had to look up in the side-effected mutable tyvars anyway, so
      nothing was being gained.

      Our original idea was that the solver would be pure, and would
      be a no-op if you discarded its results, but this was already
      not-true for implications since we update their evidence
      bindings in an imperative way.  So rather than the uneasy
      compromise, it's now clearly imperative!

* I split out the flatten/unflatten code into a new module, TcFlatten

* I simplified and articulated explicitly the (rather hazy) invariants
  for the inert substitution inert_eqs.  See Note [eqCanRewrite] and
  See Note [Applying the inert substitution] in TcFlatten

* Unflattening is now done (by TcFlatten.unflatten) after solveFlats,
  before solving nested implications.  This turned out to simplify a
  lot of code. Previously, unflattening was done as part of zonking, at
  the very very end.

    * Eager unflattening allowed me to remove the unpleasant ic_fsks
      field of an Implication (hurrah)

    * Eager unflattening made the TcSimplify.floatEqualities function
      much simpler (just float equalities looking like a ~ ty, where a
      is an untouchable meta-tyvar).

    * Likewise the idea of "pushing wanteds in as givens" could be
      completely eliminated.

* I radically simplified the code that determines when there are
  'given' equalities, and hence whether we can float 'wanted' equalies
  out.  See TcSMonad.getNoGivenEqs, and Note [When does an implication
  have given equalities?].

  This allowed me to get rid of the unpleasant inert_no_eqs flag in InertCans.

* As part of this given-equality stuff, I fixed Trac #9211. See Note
  [Let-bound skolems] in TcSMonad

* Orientation of tyvar/tyvar equalities (a ~ b) was partly done during
  canonicalisation, but then repeated in the spontaneous-solve stage
  (trySpontaneousSolveTwoWay). Now it is done exclusively during
  canonicalisation, which keeps all the code in one place.  See
  Note [Canonical orientation for tyvar/tyvar equality constraints]
  in TcCanonical

4 years agoCompiler performance is much worse in for loopy givens
Simon Peyton Jones [Mon, 3 Nov 2014 10:37:59 +0000 (10:37 +0000)] 
Compiler performance is much worse in for loopy givens

This is a deliberate choice, to simplify code, invariants, and I think
performance in typical cases.  The "loopy givens" case is situations like

   [G]  a ~ TF (a, Int)

where TF is a type function with TF (a,b) = (TF a, TF b).

See Note [An alternative story for the inert substitution] in TcFlatten.

4 years agoMake this test a bit simpler
Simon Peyton Jones [Fri, 31 Oct 2014 12:28:42 +0000 (12:28 +0000)] 
Make this test a bit simpler

There were two unrelated functions, and the `-ddump-rule-firings` output
was coming in a non-deterministic order as a result. So now there is just
one function.

4 years agoAdd flattening-notes
Simon Peyton Jones [Thu, 30 Oct 2014 12:11:27 +0000 (12:11 +0000)] 
Add flattening-notes

4 years agoTestsuite error message changes
Simon Peyton Jones [Thu, 30 Oct 2014 11:41:17 +0000 (11:41 +0000)] 
Testsuite error message changes

4 years agoComments only
Simon Peyton Jones [Fri, 31 Oct 2014 12:32:36 +0000 (12:32 +0000)] 
Comments only

4 years agoFix the superclass-cycle detection code (Trac #9739)
Simon Peyton Jones [Fri, 31 Oct 2014 12:31:59 +0000 (12:31 +0000)] 
Fix the superclass-cycle detection code (Trac #9739)

We were falling into an infinite loop when doing the ambiguity
check on a class method, even though we had previously detected
a superclass cycle.  There was code to deal with this, but it
wasn't right.

4 years agoTest Trac #9739
Simon Peyton Jones [Fri, 31 Oct 2014 11:11:50 +0000 (11:11 +0000)] 
Test Trac #9739

4 years agoAdd comments explaining ProbOneShot
Simon Peyton Jones [Fri, 31 Oct 2014 11:13:37 +0000 (11:13 +0000)] 
Add comments explaining ProbOneShot

4 years agoTest Trac #9747
Simon Peyton Jones [Fri, 31 Oct 2014 08:53:52 +0000 (08:53 +0000)] 
Test Trac #9747

4 years agoImprove error message for a handwritten Typeable instance
Simon Peyton Jones [Thu, 30 Oct 2014 16:33:34 +0000 (16:33 +0000)] 
Improve error message for a handwritten Typeable instance

4 years agoTest Trac #9708
Simon Peyton Jones [Thu, 30 Oct 2014 11:39:39 +0000 (11:39 +0000)] 
Test Trac #9708

4 years agoTest Trac #9211
Simon Peyton Jones [Thu, 30 Oct 2014 11:37:39 +0000 (11:37 +0000)] 
Test Trac #9211

4 years agoDefine ctEvLoc and ctEvCoercion, and use them
Simon Peyton Jones [Thu, 30 Oct 2014 09:08:23 +0000 (09:08 +0000)] 
Define ctEvLoc and ctEvCoercion, and use them

4 years agoMinor refactoring (no change in functionality)
Simon Peyton Jones [Wed, 29 Oct 2014 17:51:41 +0000 (17:51 +0000)] 
Minor refactoring (no change in functionality)

4 years agoDon't filter out allegedly-irrelevant bindings with -dppr-debug
Simon Peyton Jones [Wed, 29 Oct 2014 17:50:44 +0000 (17:50 +0000)] 
Don't filter out allegedly-irrelevant bindings with -dppr-debug

4 years agoOnly report "could not deduce s~t from ..." for givens that include equalities
Simon Peyton Jones [Wed, 29 Oct 2014 17:49:34 +0000 (17:49 +0000)] 
Only report "could not deduce s~t from ..." for givens that include equalities

This just simplifies the error message in cases where there are no useful
equalities in the context

4 years agoWhen reporting the context of given constraints, stop when you find one
Simon Peyton Jones [Wed, 29 Oct 2014 17:45:34 +0000 (17:45 +0000)] 
When reporting the context of given constraints, stop when you find one
that binds a variable mentioned in the wanted

There is really no point in reporting ones further out; they can't be useful

4 years agoTypechecker debug tracing only
Simon Peyton Jones [Wed, 29 Oct 2014 17:22:57 +0000 (17:22 +0000)] 
Typechecker debug tracing only

4 years agoNormalise the type of an inferred let-binding
Simon Peyton Jones [Wed, 29 Oct 2014 17:21:05 +0000 (17:21 +0000)] 
Normalise the type of an inferred let-binding

With the new constraint solver, we don't guarantee to fully-normalise
all constraints (if doing so is not necessary to solve them). So we
may end up with an inferred type like
      f :: [F Int] -> Bool
which could be simplifed to
      f :: [Char] -> Bool
if there is a suitable family instance declaration.  This patch
does this normalisation, in TcBinds.mkExport

4 years agoGet the Untouchables level right in simplifyInfer
Simon Peyton Jones [Wed, 29 Oct 2014 17:18:33 +0000 (17:18 +0000)] 
Get the Untouchables level right in simplifyInfer

Previously we could get constraints in which the untouchables-level did not
strictly increase, which is one of the main invariants!

This patch also simplifies and modularises the tricky case of generalising
an inferred let-binding

4 years agoRefactor the treatment of lexically-scoped type variables for instance declarations
Simon Peyton Jones [Wed, 29 Oct 2014 16:54:47 +0000 (16:54 +0000)] 
Refactor the treatment of lexically-scoped type variables for instance declarations

Previously the univerally-quantified variables of the DFun were also (bizarrely)
used as the lexically-scoped variables of the instance declaration.  So, for example,
the DFun's type could not be alpha-renamed.  This was an odd restriction, which has
bitten me several times.

This patch does the Right Thing, by adding an ib_tyvars field to the
InstBindings record, which captures the lexically scoped variables.
Easy, robust, nice.  (I think this record probably didn't exist originally,
hence the hack.)

4 years agoRefactor skolemising, and newClsInst
Simon Peyton Jones [Wed, 29 Oct 2014 16:26:53 +0000 (16:26 +0000)] 
Refactor skolemising, and newClsInst

This makes newClsInst (was mkInstance) look more like newFamInst, and simplifies
the plumbing of the overlap flag, and ensures that freshening (required by
the InstEnv stuff) happens in one place.

On the way I also tided up the rather ragged family of tcInstSkolTyVars and
friends.  The result at least has more uniform naming.

4 years agoRename setRole_maybe to downgradeRole_maybe
Simon Peyton Jones [Wed, 29 Oct 2014 16:35:19 +0000 (16:35 +0000)] 
Rename setRole_maybe to downgradeRole_maybe

This change is just for naming uniformity with the existing downgradeRole

4 years agoSimplify the API for tcInstTyVars, and make it more consistent with other similar...
Simon Peyton Jones [Wed, 29 Oct 2014 16:34:05 +0000 (16:34 +0000)] 
Simplify the API for tcInstTyVars, and make it more consistent with other similar functions

4 years agoFix reduceTyFamApp_maybe
Simon Peyton Jones [Wed, 29 Oct 2014 16:30:05 +0000 (16:30 +0000)] 
Fix reduceTyFamApp_maybe

This function previously would expand *data* families even when it was asked
for a *Nominal* coercion.  This patch fixes it, and adds comments.

4 years agoWhite space only
Simon Peyton Jones [Wed, 29 Oct 2014 16:27:50 +0000 (16:27 +0000)] 
White space only

4 years agoAdd the unfolding and inline-pragma for DFuns in DsBinds, not TcInstDcls
Simon Peyton Jones [Wed, 29 Oct 2014 15:36:28 +0000 (15:36 +0000)] 
Add the unfolding and inline-pragma for DFuns in DsBinds, not TcInstDcls

This is a straight refactoring that puts the generation of unfolding
info in one place, which is a lot tidier

4 years agoSimplify the generation of superclass constraints in tcInstDecl2
Simon Peyton Jones [Wed, 29 Oct 2014 15:34:14 +0000 (15:34 +0000)] 
Simplify the generation of superclass constraints in tcInstDecl2

The simplified function is tcSuperClasses;
no need for an implication constraint here

4 years agoSome refactoring around endPass and debug dumping
Simon Peyton Jones [Wed, 29 Oct 2014 15:23:14 +0000 (15:23 +0000)] 
Some refactoring around endPass and debug dumping

I forget all the details, but I spent some time trying to
understand the current setup, and tried to simplify it a bit

4 years agoImprove pretty-printing of type variables
Simon Peyton Jones [Wed, 29 Oct 2014 15:15:38 +0000 (15:15 +0000)] 
Improve pretty-printing of type variables

In particular, print a bit of debug info in debug-style and dump-style
Otherwise distinct type variables look the same

4 years agoTidy up pretty-printing of SrcLoc and SrcSpan
Simon Peyton Jones [Wed, 29 Oct 2014 15:13:41 +0000 (15:13 +0000)] 
Tidy up pretty-printing of SrcLoc and SrcSpan

4 years agoFix lost Haddock annotation for `class Monad m`
Herbert Valerio Riedel [Tue, 4 Nov 2014 10:15:51 +0000 (11:15 +0100)] 
Fix lost Haddock annotation for `class Monad m`

This was broken in d94de87252d0fe2ae97341d186b03a2fbe136b04 when `join`
was inserted between `Monad`'s Haddock string and the `class Monad m`
definition thereby breaking the association.

4 years agoRefactor Haddock comments in Data.Bits
Herbert Valerio Riedel [Tue, 4 Nov 2014 10:06:53 +0000 (11:06 +0100)] 
Refactor Haddock comments in Data.Bits

This removes the redundant "Minimal complete definition"-block included
in the Haddock comment since Haddock renders the `MINIMAL`-pragma as
well (which has is moved to the start of `class` definition for better
readability of the source code)

Morever, the references to `testBitDefault`, `bitDefault`, and
`popCountDefault` have been moved to the respective methods' Haddock
strings for which they can be used.

4 years agoMinor Haddock markup improvement to Data.Monoid
Herbert Valerio Riedel [Tue, 4 Nov 2014 09:52:56 +0000 (10:52 +0100)] 
Minor Haddock markup improvement to Data.Monoid

[skip ci]

4 years agoAdd `Alternative` wrapper to Data.Monoid
David Feuer [Tue, 4 Nov 2014 09:13:05 +0000 (10:13 +0100)] 
Add `Alternative` wrapper to Data.Monoid

Complete #9759. Use `coerce` to get nicer definitions of `Sum` and
`Product`; update documentation for `First` and `Last`.

Reviewed By: hvr

Differential Revision: https://phabricator.haskell.org/D422

4 years agoFurther relax T1969’s max_bytes range
Joachim Breitner [Tue, 4 Nov 2014 09:09:50 +0000 (10:09 +0100)] 
Further relax T1969’s max_bytes range

4 years agoMake Foldable's foldr1 and foldl1 defaults lazier
David Feuer [Tue, 4 Nov 2014 09:03:12 +0000 (10:03 +0100)] 
Make Foldable's foldr1 and foldl1 defaults lazier

Fixes #9742. Previously, `foldr1` as applied to a list-like
structure would be strict in the spine, and `foldl1` would
be strict in the spine of a snoc-list.

See also

 https://www.haskell.org/pipermail/libraries/2014-October/024035.html

Differential Revision: https://phabricator.haskell.org/D423

4 years agoLink to oneShot from the User's Guide
Joachim Breitner [Mon, 3 Nov 2014 19:26:25 +0000 (20:26 +0100)] 
Link to oneShot from the User's Guide

thanks to Jan for nudging.

4 years agoUpdate expected profiling output for scc001
Joachim Breitner [Mon, 3 Nov 2014 09:24:10 +0000 (10:24 +0100)] 
Update expected profiling output for scc001

4 years agoUse oneShot in the definition of foldl etc.
Joachim Breitner [Sat, 25 Oct 2014 10:27:06 +0000 (12:27 +0200)] 
Use oneShot in the definition of foldl etc.

This increases the chance of good code after fusing a left fold. See
ticket #7994 and the new Note [Left folds via right fold]

Differential Revision: https://phabricator.haskell.org/D393

4 years agoAdd GHC.Prim.oneShot
Joachim Breitner [Sun, 26 Jan 2014 11:36:23 +0000 (11:36 +0000)] 
Add GHC.Prim.oneShot

to allow the programer to explictitly set the oneShot flag. This helps
with #7994 and will be used in left folds. Also see
https://ghc.haskell.org/trac/ghc/wiki/OneShot

This commit touches libraries/base/GHC/Event/Manager.hs (which used to
have a local definition of the name oneShot) to avoid a shadowing error.

Differential Revision: https://phabricator.haskell.org/D392

4 years agoPut one-Shot info in the interface
Joachim Breitner [Tue, 28 Oct 2014 12:02:40 +0000 (13:02 +0100)] 
Put one-Shot info in the interface

Differential Revision: https://phabricator.haskell.org/D391

4 years agoTweak the error message for pattern synonym methods,
Dr. ERDI Gergo [Sun, 2 Nov 2014 06:06:24 +0000 (14:06 +0800)] 
Tweak the error message for pattern synonym methods,
since they are disallowed both in class and instance declarations

4 years agoUpdate release notes for #9262 #8953 #9084.
Richard Eisenberg [Sun, 2 Nov 2014 04:08:26 +0000 (00:08 -0400)] 
Update release notes for #9262 #8953 #9084.

4 years agoFix #9738, by handling {-# ANN ... #-} in DsMeta.
Richard Eisenberg [Tue, 28 Oct 2014 18:54:20 +0000 (14:54 -0400)] 
Fix #9738, by handling {-# ANN ... #-} in DsMeta.

4 years agoTest #9738 in th/T9738
Richard Eisenberg [Tue, 28 Oct 2014 18:53:59 +0000 (14:53 -0400)] 
Test #9738 in th/T9738

4 years agoFix testsuite output from #9084.
Richard Eisenberg [Tue, 28 Oct 2014 19:15:02 +0000 (15:15 -0400)] 
Fix testsuite output from #9084.

4 years agoFix #9084 by calling notHandled when unknown bits are enountered.
Richard Eisenberg [Tue, 28 Oct 2014 17:21:34 +0000 (13:21 -0400)] 
Fix #9084 by calling notHandled when unknown bits are enountered.

4 years agoTest #9084 in th/T9084.
Richard Eisenberg [Tue, 28 Oct 2014 17:10:11 +0000 (13:10 -0400)] 
Test #9084 in th/T9084.

The patch includes errors for a whole host of pragmas. But, these
are generated one at a time, and it doesn't seem like a good idea
to add gobs of test-cases here.

4 years agoTestsuite wibbles from fixing #8953
Richard Eisenberg [Tue, 28 Oct 2014 14:42:32 +0000 (10:42 -0400)] 
Testsuite wibbles from fixing #8953

4 years agoAnnotate poly-kinded type patterns in instance reification.
Richard Eisenberg [Tue, 21 Oct 2014 15:27:16 +0000 (11:27 -0400)] 
Annotate poly-kinded type patterns in instance reification.

This should fix #8953.

4 years agoAnnotate reified poly-kinded tycons when necessary. (#8953)
Richard Eisenberg [Tue, 21 Oct 2014 14:58:05 +0000 (10:58 -0400)] 
Annotate reified poly-kinded tycons when necessary. (#8953)

4 years agoAlways use KindedTV when reifying. (#8953)
Richard Eisenberg [Tue, 21 Oct 2014 14:48:49 +0000 (10:48 -0400)] 
Always use KindedTV when reifying. (#8953)

4 years agoTest #8953 in th/T8953
Richard Eisenberg [Tue, 21 Oct 2014 14:46:27 +0000 (10:46 -0400)] 
Test #8953 in th/T8953

4 years agoBring unbound tyvars into scope during reifyInstances.
Richard Eisenberg [Tue, 21 Oct 2014 13:13:08 +0000 (09:13 -0400)] 
Bring unbound tyvars into scope during reifyInstances.

Fix #9262.

4 years agoTest #9262 in th/T9262, and update other tests.
Richard Eisenberg [Tue, 21 Oct 2014 13:12:34 +0000 (09:12 -0400)] 
Test #9262 in th/T9262, and update other tests.

4 years agoFixed T5435_dyn_asm on Windows. The test code was not in sync with the expected output.
Gintautas Miliauskas [Sat, 1 Nov 2014 13:20:45 +0000 (08:20 -0500)] 
Fixed T5435_dyn_asm on Windows. The test code was not in sync with the expected output.

Reviewers: austin

Reviewed By: austin

Subscribers: thomie, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D403

GHC Trac Issues: #5435

4 years agornMethodBind: reject pattern synonyms in instance definitions (fixes #9705)
Dr. ERDI Gergo [Tue, 21 Oct 2014 12:51:35 +0000 (20:51 +0800)] 
rnMethodBind: reject pattern synonyms in instance definitions (fixes #9705)

4 years agoFix comment about dropWhileEndLE
Joachim Breitner [Sat, 1 Nov 2014 10:37:53 +0000 (11:37 +0100)] 
Fix comment about dropWhileEndLE

4 years agoFix build via Haddock submodule update.
Austin Seipp [Sat, 1 Nov 2014 00:34:56 +0000 (19:34 -0500)] 
Fix build via Haddock submodule update.

Signed-off-by: Austin Seipp <austin@well-typed.com>
4 years agoRemove legacy support for -optdef flags
Thomas Miedema [Fri, 31 Oct 2014 21:15:06 +0000 (16:15 -0500)] 
Remove legacy support for -optdef flags

Summary: -optdef flags were deprecated in or before 2008

Reviewers: austin

Reviewed By: austin

Subscribers: thomie, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D409

GHC Trac Issues: #2773

4 years agoremove old .NET related code
Yuras Shumovich [Fri, 31 Oct 2014 21:12:19 +0000 (16:12 -0500)] 
remove old .NET related code

Summary: It seems to be dead anyway. Also update Haddock submodule.

Test Plan: validate

Reviewers: austin

Reviewed By: austin

Subscribers: thomie, goldfire, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D357

4 years agoSplit off stat (benchmark) test failures into a separate section in the test runner...
Gintautas Miliauskas [Fri, 31 Oct 2014 20:51:16 +0000 (15:51 -0500)] 
Split off stat (benchmark) test failures into a separate section in the test runner summary.

Stat tests are generally less reliable than other types of tests, so it's nice to have
them in a separate section rather than interspersed with potential...

Summary: ...correctness issues.

Reviewers: austin

Reviewed By: austin

Subscribers: thomie, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D406

4 years agoUpdate doctest example style in `Data.Bool`
Michael Orlitzky [Fri, 31 Oct 2014 13:34:56 +0000 (14:34 +0100)] 
Update doctest example style in `Data.Bool`

hvr made some suggestions in D352 and D371, this fixes them in the
already-applied patch for Data/Bool.hs as well for consistency.

Reviewed By: austin, hvr

Differential Revision: https://phabricator.haskell.org/D379

4 years agoAdd changelog entry for recent Unicode 7.0 update
Herbert Valerio Riedel [Fri, 31 Oct 2014 13:30:32 +0000 (14:30 +0100)] 
Add changelog entry for recent Unicode 7.0 update

The internal Unicode definitions were updated via
d4fd16801bc59034abdc6214e60fcce2b21af9c8

[skip ci]

4 years agoClean-up `Data.Fixed`
Herbert Valerio Riedel [Fri, 31 Oct 2014 13:25:45 +0000 (14:25 +0100)] 
Clean-up `Data.Fixed`

This gets rid of `-fno-warn-unused-binds` by turning the E* types into
constructor-less data types (as they're used as phantom-types only)

Moreover, this modules uses `AutoDeriveTypeable` so we can drop all those
redundant `deriving (Typeable)` lines as well

Reviewed By: austin, ekmett

Differential Revision: https://phabricator.haskell.org/D385

4 years agoUpdate Haddock submodule
Herbert Valerio Riedel [Fri, 31 Oct 2014 13:04:57 +0000 (14:04 +0100)] 
Update Haddock submodule

This pulls in a change to have the new "Examples" sections being in
`base` collapsed by default.

4 years agoAdd doctest examples for Data.Char
Michael Orlitzky [Fri, 31 Oct 2014 08:50:00 +0000 (09:50 +0100)] 
Add doctest examples for Data.Char

This adds doctest examples for every function and data type in `Data.Char`.

Reviewed By: austin, hvr

Differential Revision: https://phabricator.haskell.org/D371

4 years agoFix comment typos
Jan Stolarek [Fri, 31 Oct 2014 09:31:40 +0000 (10:31 +0100)] 
Fix comment typos

4 years agoDrop deprecated `OverlappingInstances` from base
Herbert Valerio Riedel [Fri, 31 Oct 2014 07:52:47 +0000 (08:52 +0100)] 
Drop deprecated `OverlappingInstances` from base

With #9242 the `OverlappingInstances` extension got deprecated, this
commit adapts the only two remaining places in `base` where it was still
used.

Starting with this commit, the `Typeable (s t)` instance (which seemingly
was the motivation for using `OverlappingInstances` in the first place
when `Typeable` was neither polykinded nor auto-derived-only, see also
commit ce3fd0e02826367e6134a3362d8d37aa114236f5 which introduced
overlapping instances) does no longer allow overlapping instances, and
there doesn't seem to be any good reason to keep allowing overlapping
instance now.

This also removes redundant `LANGUAGE`/`OPTIONS_GHC` pragmas from
`Data.Typeable` and refactors the language pragmas into more uniform
single-line pragmas.

Reviewed By: austin

Differential Revision: https://phabricator.haskell.org/D377

4 years agoUpdated testsuite/.gitignore to exclude some test artifacts on Windows.
Gintautas Miliauskas [Thu, 30 Oct 2014 16:57:18 +0000 (11:57 -0500)] 
Updated testsuite/.gitignore to exclude some test artifacts on Windows.

Reviewers: austin

Reviewed By: austin

Subscribers: thomie, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D404

4 years agoFixed missing trailing newline bug in pretty printer
Mateusz Lenik [Thu, 30 Oct 2014 16:53:40 +0000 (11:53 -0500)] 
Fixed missing trailing newline bug in pretty printer

Summary:
Pretty printer didn't produce trailing newline in strings in error
messages.

Reviewers: simonpj, austin

Reviewed By: austin

Subscribers: thomie, carter, simonmar, mlen

Differential Revision: https://phabricator.haskell.org/D405

GHC Trac Issues: #9681

4 years agoAdd notes on change to hGetContents semantics
David Feuer [Thu, 30 Oct 2014 16:50:58 +0000 (11:50 -0500)] 
Add notes on change to hGetContents semantics

Summary:
Additionally, move Unicode 7.0 update notice from the compiler
section to the base libraries section.

Reviewers: austin

Reviewed By: austin

Subscribers: thomie, carter, simonmar

Projects: #ghc

Differential Revision: https://phabricator.haskell.org/D401

4 years agoFix test driver python3 compatibility issues
Mateusz Lenik [Thu, 30 Oct 2014 16:50:41 +0000 (11:50 -0500)] 
Fix test driver python3 compatibility issues

Summary:
Fixes python3 compatibility issues by replacing filter with a list
comperhension and a potential issue with python2 when override_flags
would be an empty list.

Reviewers: austin, thomie

Reviewed By: austin, thomie

Subscribers: thomie, carter, simonmar, mlen

Differential Revision: https://phabricator.haskell.org/D399

GHC Trac Issues: #9230

4 years agoComments only
Jan Stolarek [Thu, 30 Oct 2014 10:51:10 +0000 (11:51 +0100)] 
Comments only

4 years agoAdded mingw32-specific expected stdout files for tests/driver/sigof{01,02,03}
Gintautas Miliauskas [Thu, 30 Oct 2014 04:15:25 +0000 (23:15 -0500)] 
Added mingw32-specific expected stdout files for tests/driver/sigof{01,02,03}

Reviewers: austin

Reviewed By: austin

Subscribers: thomie, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D398

4 years agoAdd __GLASGOW_HASKELL_TH__=YES/NO to CPP definitions
Joachim Breitner [Thu, 30 Oct 2014 04:15:07 +0000 (23:15 -0500)] 
Add __GLASGOW_HASKELL_TH__=YES/NO to CPP definitions

Test Plan: None really.

Reviewers: austin

Reviewed By: austin

Subscribers: thomie, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D386

GHC Trac Issues: #9734

4 years agoDo not use a relative path for echo in tests/ghci/prog013.
Gintautas Miliauskas [Thu, 30 Oct 2014 04:14:38 +0000 (23:14 -0500)] 
Do not use a relative path for echo in tests/ghci/prog013.

Trying to run /usr/bin/echo fails when running tests on Windows,
but using plain "echo" works fine. I think it's fine to assume
the environment is not doing anything particularly funny...

Summary:
...with
echo...

Reviewers: austin

Reviewed By: austin

Subscribers: thomie, carter, simonmar, #ghc_windows_task_force

Differential Revision: https://phabricator.haskell.org/D384

4 years agoUpdated stale ghcpkg05.stderr-mingw32.
Gintautas Miliauskas [Thu, 30 Oct 2014 04:14:28 +0000 (23:14 -0500)] 
Updated stale ghcpkg05.stderr-mingw32.

Looks like the mingw32-specific test was accidentally forgotten after
changing the code and the expected outputs for non OS-specific tests.

Reviewers: austin

Reviewed By: austin

Subscribers: #ghc_windows_task_force, thomie, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D383