ghc.git
5 years agoLine up kind and type variables correctly when desugaring TH brackets
Simon Peyton Jones [Thu, 12 Jun 2014 15:36:59 +0000 (16:36 +0100)] 
Line up kind and type variables correctly when desugaring TH brackets

This bug was causing Trac #9199

5 years agoBetter debug printing
Simon Peyton Jones [Thu, 12 Jun 2014 15:35:37 +0000 (16:35 +0100)] 
Better debug printing

5 years agoImprove IfaceSyn a bit further
Simon Peyton Jones [Thu, 12 Jun 2014 10:50:34 +0000 (11:50 +0100)] 
Improve IfaceSyn a bit further

This patch has three main bits:

* The most substantial change is that IfaceConDecl no longer
  records its universal type variables, because they are
  always the same as those of the parent TyCon.  A bit less
  fuss and clutter.

* Add a synonym for IfTopBndr = OccName, and explain why it's an
  OccName not a FastString

* Make the ifMinDef field be a (BooleanFormula IfLclName) rather
  than (BooleanFormula OccName).  These really are occurrences (not
  binders), and should be treated like other occurences.

The first and third change the format of interface files, so
you'll need to recompile.

5 years agoCatch two typos
Gabor Greif [Wed, 11 Jun 2014 22:57:26 +0000 (00:57 +0200)] 
Catch two typos

5 years agoFix Windows build (wibble to fix for Trac #4934)
Simon Peyton Jones [Wed, 11 Jun 2014 19:54:58 +0000 (20:54 +0100)] 
Fix Windows build (wibble to fix for Trac #4934)

5 years agoFix a serious, but rare, strictness analyser bug (Trac #9128)
Simon Peyton Jones [Wed, 11 Jun 2014 18:53:06 +0000 (19:53 +0100)] 
Fix a serious, but rare, strictness analyser bug (Trac #9128)

In a special case for trivial RHSs (see DmdAnal.unpackTrivial),
I'd forgotten to include a demand for the RHS itself.
See Note [Remember to demand the function itself].

Thanks to David Terei for guiding me to the bug,
at PLDI in Edinburgh.

5 years agoSimplify variable naming in tcDataKindSig
Simon Peyton Jones [Wed, 11 Jun 2014 18:49:50 +0000 (19:49 +0100)] 
Simplify variable naming in tcDataKindSig

Now that we are very consistent about tidying when converting
to IfaceSyn, we don't need to worry about accidental capture
of the "extra" type variables in tcDataKindSig.  (Previously
we gave them weird names like $a.)

However, it is nicer for the user if we don't gratuitously
re-use an in-scope name, so we take care not to do that
.

5 years agoFix tyConToIfaceDecl (Trac #9190)
Simon Peyton Jones [Wed, 11 Jun 2014 14:09:55 +0000 (15:09 +0100)] 
Fix tyConToIfaceDecl (Trac #9190)

There are three bugs here, one serious

 * We were failing to tidy the type arguments in an IfTyConParent
   This is what was causing Trac #9190.

 * toIfaceTcArgs is careful to suppress kind arguments, but there
   was a clone, tidyToIfaceTcArgs in IfaceSyn which didn't.
   Now the latter goes via the former.

 * When pretty-printing a IfaceDecl for an algebraic data type, and
   doing so in Haskell-98 syntax, we were silently assuming that the
   universal type variables of the TyCon and the DataCon were the
   same. But that has not been true for some time. Result: a very
   confusing display.

   Solution: during the conversion to IfaceSyn, take the opportunity
   to make the universal type variables line up exactly.  This is very
   easy to do, makes the pretty-printing easy, and leaves open the future
   possiblity of not serialising the universal type variables of the
   data constructor.

5 years agoWhite space only
Simon Peyton Jones [Tue, 10 Jun 2014 16:57:49 +0000 (17:57 +0100)] 
White space only

5 years agoComments only explaining the imports for GHC.Integer, GHC.Tuple
Simon Peyton Jones [Tue, 10 Jun 2014 16:57:37 +0000 (17:57 +0100)] 
Comments only explaining the imports for GHC.Integer, GHC.Tuple

See Note [Depend on GHC.Integer]
    Note [Depend on GHC.Tuple]

This came up when Joachim got an unexpected missing-dependency
error when fiddling with Data.Coerce.

5 years agoImprove error message in Trac #8883
Simon Peyton Jones [Tue, 10 Jun 2014 16:50:22 +0000 (17:50 +0100)] 
Improve error message in Trac #8883

The improvement is to report the inferred type in the error message,
as suggested in email on ghc-deves (10 Jun 14).

5 years agoSome typos in comments
Gabor Greif [Tue, 10 Jun 2014 23:37:01 +0000 (01:37 +0200)] 
Some typos in comments

5 years agoTypo in variable name, no functional change
Gabor Greif [Tue, 10 Jun 2014 23:00:58 +0000 (01:00 +0200)] 
Typo in variable name, no functional change

5 years agoTest #9111.
Richard Eisenberg [Wed, 11 Jun 2014 12:34:58 +0000 (08:34 -0400)] 
Test #9111.

5 years agoTest #9085.
Richard Eisenberg [Wed, 11 Jun 2014 12:29:27 +0000 (08:29 -0400)] 
Test #9085.

5 years agoFix #9111.
Richard Eisenberg [Tue, 10 Jun 2014 21:44:32 +0000 (17:44 -0400)] 
Fix #9111.

Data.Typeable.Internal should now derive instances for all types
defined in modules beneath it.

Still to do: Typeable instances for type literals, but that's a very
separate matter.

5 years agoTest #9097.
Richard Eisenberg [Tue, 10 Jun 2014 20:06:00 +0000 (16:06 -0400)] 
Test #9097.

5 years agoFix #9062.
Richard Eisenberg [Tue, 10 Jun 2014 19:33:18 +0000 (15:33 -0400)] 
Fix #9062.

Removed (pprEqPred (coercionKind co)) in favor of
(pprType (coercionType co)).

Also had to make "~R#" a *symbolic* identifier and BuiltInSyntax
to squelch prefix notation and module prefixes in output. These
changes are both sensible independent of #9062.

5 years agoFix #9085.
Richard Eisenberg [Tue, 10 Jun 2014 19:25:36 +0000 (15:25 -0400)] 
Fix #9085.

Inaccessible equations in a closed type family now leads to a
warning, not an error. This echoes what happens at the term level.

5 years agoFix #9097.
Richard Eisenberg [Tue, 10 Jun 2014 19:21:47 +0000 (15:21 -0400)] 
Fix #9097.

`Any` is now an abstract (that is, no equations) closed type family.

5 years agoRefine deprecation warnings in template-haskell.
Richard Eisenberg [Tue, 10 Jun 2014 18:49:16 +0000 (14:49 -0400)] 
Refine deprecation warnings in template-haskell.

5 years agoAdd comments about instances of type-level (==).
Richard Eisenberg [Tue, 10 Jun 2014 18:41:55 +0000 (14:41 -0400)] 
Add comments about instances of type-level (==).

5 years agoClarify error message. See #9167.
Richard Eisenberg [Tue, 10 Jun 2014 18:31:04 +0000 (14:31 -0400)] 
Clarify error message. See #9167.

5 years agoMake FunPtr's role be phantom; add comments.
Richard Eisenberg [Tue, 10 Jun 2014 17:38:06 +0000 (13:38 -0400)] 
Make FunPtr's role be phantom; add comments.

This change also updates castFunPtr to make it free at runtime.
This fixes #9163.

5 years agoMake better use of the x86 addressing mode
Johan Tibell [Sat, 7 Jun 2014 13:03:29 +0000 (15:03 +0200)] 
Make better use of the x86 addressing mode

We now emit

    movq %rdi,16(%r14,%rsi,8)

instead of

    leaq 16(%r14),%rax
    movq %rdi,(%rax,%rsi,8)

This helps e.g. byte array indexing.

5 years agoForgot to amend before pushing...
Joachim Breitner [Tue, 10 Jun 2014 15:18:19 +0000 (17:18 +0200)] 
Forgot to amend before pushing...

5 years agoFire "map/coerce" only in phase 1
Joachim Breitner [Tue, 10 Jun 2014 14:13:17 +0000 (16:13 +0200)] 
Fire "map/coerce" only in phase 1

I just noticed a lot of warnings

Rules.findBest: rule overlap (Rule 1 wins)
    Rule 1: "map"
    Rule 2: "map/coerce"

which can easily be avoided by acitivating map/coerce only from phase 1
on.

5 years agoImprove the API doc description of the SmallArray primitive types
Duncan Coutts [Tue, 10 Jun 2014 12:50:59 +0000 (13:50 +0100)] 
Improve the API doc description of the SmallArray primitive types

Say how it differs from Array in terms of size and performance.
These are primitives so it's also ok to talk a bit about implementation
details like card tables.

5 years agoMake Ptr's parameter phantom
Joachim Breitner [Mon, 9 Jun 2014 18:55:22 +0000 (20:55 +0200)] 
Make Ptr's parameter phantom

and implement castPtr with coerce, which gives
    12% less allocation in reverse-complem
    7.3% less allocation in fasta.
    Binary sizes fell 0.1%.
as reported and discussed in #9163.

5 years agoRevert "Make Ptr's parameter phantom"
Joachim Breitner [Mon, 9 Jun 2014 20:58:03 +0000 (22:58 +0200)] 
Revert "Make Ptr's parameter phantom"

This reverts commit 1946922c61df427e59f8a00572fd4dd6501abd98, as it
trips the build system over, and I don't see why.

5 years agoUpdate test results with new orphan instance warning
Joachim Breitner [Mon, 9 Jun 2014 19:03:32 +0000 (21:03 +0200)] 
Update test results with new orphan instance warning

It seems that the patch in #9178 was not fully validated.

5 years agoMake Ptr's parameter phantom
Joachim Breitner [Mon, 9 Jun 2014 18:55:22 +0000 (20:55 +0200)] 
Make Ptr's parameter phantom

and implement castPtr with coerce, which gives
    12% less allocation in reverse-complem
    7.3% less allocation in fasta.
    Binary sizes fell 0.1%.
as reported and discussed in #9163.

5 years agoAdd .arclint file
Austin Seipp [Mon, 9 Jun 2014 13:29:27 +0000 (08:29 -0500)] 
Add .arclint file

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoShip xhtml, terminfo, haskeline (#8919)
Jens Petersen [Mon, 9 Jun 2014 13:19:08 +0000 (08:19 -0500)] 
Ship xhtml, terminfo, haskeline (#8919)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoBetter warning message for orphan instances (Ticket #9178)
Dr. Heinrich Hördegen [Fri, 6 Jun 2014 17:11:27 +0000 (19:11 +0200)] 
Better warning message for orphan instances (Ticket #9178)

Including a test case.

5 years agoSuggest -fprint-explicit-kinds when only kind variables are ambiguous
Simon Peyton Jones [Mon, 9 Jun 2014 13:07:54 +0000 (14:07 +0100)] 
Suggest -fprint-explicit-kinds when only kind variables are ambiguous

This was triggered by looking at Trac #9171. See
Note [Suggest -fprint-explicit-kinds] in TcErrors

5 years agoDocument explicit import/export of data constructors (Trac #8753)
Simon Peyton Jones [Mon, 9 Jun 2014 13:01:18 +0000 (14:01 +0100)] 
Document explicit import/export of data constructors (Trac #8753)

I also added sub-sections to the pattern synonym documentation

5 years agoDocument -fwarn-inline-rule-shadowing (Trac #9166)
Simon Peyton Jones [Mon, 9 Jun 2014 12:59:42 +0000 (13:59 +0100)] 
Document -fwarn-inline-rule-shadowing (Trac #9166)

5 years agoImprove documentation for -fwarn-unused-binds
Simon Peyton Jones [Mon, 9 Jun 2014 12:58:23 +0000 (13:58 +0100)] 
Improve documentation for -fwarn-unused-binds

5 years agoCheck that an associated type mentions at least one type variable from the class
Simon Peyton Jones [Mon, 9 Jun 2014 12:28:51 +0000 (13:28 +0100)] 
Check that an associated type mentions at least one type variable from the class

Fixes Trac #9167

5 years agoDon't use showPass in the backend (#8973)
Simon Marlow [Sun, 8 Jun 2014 10:17:57 +0000 (11:17 +0100)] 
Don't use showPass in the backend (#8973)

5 years agoRemove unused --run-cps/--run-cpsz options
Simon Marlow [Sun, 8 Jun 2014 09:24:25 +0000 (10:24 +0100)] 
Remove unused --run-cps/--run-cpsz options

5 years agoRaise exceptions when blocked in bad FDs (fixes Trac #4934)
Sergei Trofimovich [Fri, 23 May 2014 20:58:06 +0000 (23:58 +0300)] 
Raise exceptions when blocked in bad FDs (fixes Trac #4934)

Before the patch any call to 'select()' with 'bad_fd' led to:
- unblocking of all threads
- hiding exception for 'threadWaitRead bad_fd'

The patch fixes both cases in this way:
after 'select()' failure we iterate over each blocked descriptor
and poll individually to see it's actual status, which is:
- READY (move to run queue)
- BLOCKED (leave in blocked queue)
- INVALID (send an IOErrror exception)

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
5 years agoFix obscure problem with using the system linker (#8935)
Simon Marlow [Sun, 8 Jun 2014 08:46:20 +0000 (09:46 +0100)] 
Fix obscure problem with using the system linker (#8935)

See Note [RTLD_LOCAL] for a summary of the problem and solution, and

5 years agoPretty-print built in synonym families in interfaces
Joachim Breitner [Sat, 7 Jun 2014 11:18:55 +0000 (13:18 +0200)] 
Pretty-print built in synonym families in interfaces

This closes #9181.

5 years agoTest case for #9181 (:browse GHC.TypeLits panic)
Joachim Breitner [Sat, 7 Jun 2014 08:09:40 +0000 (10:09 +0200)] 
Test case for #9181 (:browse GHC.TypeLits panic)

5 years agos/-hi-diffs/-ddump-hi-diffs/ in docs (#9179)
Joachim Breitner [Sat, 7 Jun 2014 07:57:32 +0000 (09:57 +0200)] 
s/-hi-diffs/-ddump-hi-diffs/ in docs (#9179)

5 years agosupress warning of bang wildcard pattern-binding (i.e. let !_ = rhs). This fixes...
Guido Zayas [Fri, 6 Jun 2014 16:34:14 +0000 (18:34 +0200)] 
supress warning of bang wildcard pattern-binding (i.e. let !_ = rhs). This fixes #9127

5 years agoFix discarding of unreachable code in the register allocator (#9155)
Simon Marlow [Fri, 6 Jun 2014 08:52:13 +0000 (09:52 +0100)] 
Fix discarding of unreachable code in the register allocator (#9155)

A previous fix to this was wrong: f5879acd018494b84233f26fba828ce376d0f81d
and left some unreachable code behind.  So rather than try to be clever and
do this at the same time as the strongly-connected-component analysis, I'm
doing a separate reachability pass first.

5 years agoTest case: GHCi uses UnicodeSyntax if the loaded file uses it.
Joachim Breitner [Fri, 6 Jun 2014 16:42:34 +0000 (18:42 +0200)] 
Test case: GHCi uses UnicodeSyntax if the loaded file uses it.

Its marked as broken, as this does not work yet, but we are calling it a
day here soon, so I want this to be recorded (#8959).

5 years agoOnly use UnicodeSytanx pretty printing if the locale supports it
Joachim Breitner [Fri, 6 Jun 2014 16:07:29 +0000 (18:07 +0200)] 
Only use UnicodeSytanx pretty printing if the locale supports it

using the same check as for unicode quotes.

5 years agoUse UnicodeSyntax when printing
Joachim Breitner [Fri, 6 Jun 2014 13:00:52 +0000 (15:00 +0200)] 
Use UnicodeSyntax when printing

When printing Haskell source, and UnicodeSyntax is enabled, use the
unicode sytax characters (#8959).

5 years agoUpdate mod73 test output
Joachim Breitner [Fri, 6 Jun 2014 13:03:36 +0000 (15:03 +0200)] 
Update mod73 test output

to what I observe on travis and on my validate machine, even though my
local tree produces the previous output.

5 years agoAdded testcase for #9069
Sjoerd Visscher [Fri, 6 Jun 2014 13:26:20 +0000 (15:26 +0200)] 
Added testcase for #9069

5 years agoMake DeriveTraversable imply DeriveFunctor/Foldable
Sjoerd Visscher [Fri, 6 Jun 2014 13:24:41 +0000 (15:24 +0200)] 
Make DeriveTraversable imply DeriveFunctor/Foldable

Implements #9069

5 years agoMerge branch 'master' of git://git.haskell.org/ghc
Sjoerd Visscher [Fri, 6 Jun 2014 12:31:51 +0000 (14:31 +0200)] 
Merge branch 'master' of git://git.haskell.org/ghc

Conflicts:
docs/users_guide/flags.xml

5 years agoAdded more option implication documentation.
Sjoerd Visscher [Fri, 6 Jun 2014 12:23:59 +0000 (14:23 +0200)] 
Added more option implication documentation.

5 years agoMake the matcher and wrapper Ids in PatSyn into LocalIds, not GlobalIds
Simon Peyton Jones [Fri, 6 Jun 2014 10:39:41 +0000 (11:39 +0100)] 
Make the matcher and wrapper Ids in PatSyn into LocalIds, not GlobalIds

This was a serious bug, exposed by Trac #9175.  The matcher and wrapper
must be LocalIds, like record selectors and dictionary functions, for
the reasons now documented in Note [Exported LocalIds] in Id.lhs

In fixing this I found
 - PatSyn should have an Id inside it (apart from the wrapper and matcher)
   It should be a Name.  Hence psId --> psName, with knock-on consequences

 - Tidying of PatSyns in TidyPgm was wrong

 - The keep-alive set in Desugar.deSugar (now) doesn't need pattern synonyms
   in it

I also cleaned up the interface to PatSyn a little, so there's a tiny knock-on
effect in Haddock; hence the haddock submodule update.

It's very hard to make a test for this bug, so I haven't.

5 years agoPrevent line wrapping after the dash of an option.
Sjoerd Visscher [Fri, 6 Jun 2014 11:51:40 +0000 (13:51 +0200)] 
Prevent line wrapping after the dash of an option.

5 years agoSorted the language options list alphabetically, and added missing options.
Sjoerd Visscher [Fri, 6 Jun 2014 11:27:11 +0000 (13:27 +0200)] 
Sorted the language options list alphabetically, and added missing options.

5 years agoAdded link ends to role documentation.
Sjoerd Visscher [Fri, 6 Jun 2014 11:25:43 +0000 (13:25 +0200)] 
Added link ends to role documentation.

5 years agoUpdate test results (last minuite changes)
Joachim Breitner [Fri, 6 Jun 2014 11:19:33 +0000 (13:19 +0200)] 
Update test results (last minuite changes)

5 years agoAdd testcase for #9177 and adjust test output
Joachim Breitner [Fri, 6 Jun 2014 10:28:55 +0000 (12:28 +0200)] 
Add testcase for #9177 and adjust test output

5 years agoReport all possible results from related name spaces
Joachim Breitner [Fri, 6 Jun 2014 10:11:48 +0000 (12:11 +0200)] 
Report all possible results from related name spaces

instead of just one matching directly. This is an alternative way to fix
ticket #9177.

5 years agoSuggest Int when user writes int
Joachim Breitner [Fri, 6 Jun 2014 09:47:28 +0000 (11:47 +0200)] 
Suggest Int when user writes int

and the other way around. This fixes #9177.

5 years agoTypo
Mateusz Kowalczyk [Thu, 5 Jun 2014 23:26:34 +0000 (01:26 +0200)] 
Typo

5 years agoFix compilation of cmm files with -outputdir (Trac #9050)
Yuras Shumovich [Thu, 1 May 2014 21:11:58 +0000 (00:11 +0300)] 
Fix compilation of cmm files with -outputdir (Trac #9050)

5 years agoTweak comments
Gabor Greif [Thu, 5 Jun 2014 20:03:31 +0000 (22:03 +0200)] 
Tweak comments

5 years agoTypo
Gabor Greif [Fri, 23 May 2014 22:56:15 +0000 (00:56 +0200)] 
Typo

5 years agoFix .arcconfig
Austin Seipp [Thu, 5 Jun 2014 14:13:30 +0000 (09:13 -0500)] 
Fix .arcconfig

See, what did I tell you? Broken!

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoEmit error in case of duplicate GRE; fixes #7241
Yuras Shumovich [Thu, 5 Jun 2014 12:56:05 +0000 (07:56 -0500)] 
Emit error in case of duplicate GRE; fixes #7241

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoAdd ".text.unlikely" to recognized code sections on Windows.
Niklas Larsson [Sun, 25 May 2014 09:54:13 +0000 (11:54 +0200)] 
Add ".text.unlikely" to recognized code sections on Windows.

Fixes #9080

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoAdd .arcconfig file. Do not use yet.
Austin Seipp [Thu, 5 Jun 2014 12:31:39 +0000 (07:31 -0500)] 
Add .arcconfig file. Do not use yet.

Don't use this yet - it's an experiment, a disaster, whatever. Caveat
emptor. I'll probably delete everything. Do not taunt Happy Fun Ball -
you have been warned.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoTest Trac #9023
Simon Peyton Jones [Thu, 5 Jun 2014 11:26:24 +0000 (12:26 +0100)] 
Test Trac #9023

5 years agoFix egregious instantiation bug in matchOneConLike (fixing Trac #9023)
Simon Peyton Jones [Thu, 5 Jun 2014 10:03:45 +0000 (11:03 +0100)] 
Fix egregious instantiation bug in matchOneConLike (fixing Trac #9023)

We simply weren't giving anything like the right instantiating types
to patSynInstArgTys in matchOneConLike.

To get these instantiating types would have involved matching the
result type of the pattern synonym with the pattern type, which is
tiresome.  So instead I changed ConPatOut so that instead of recording
the type of the *whole* pattern (in old field pat_ty), it not records
the *instantiating* types (in new field pat_arg_tys).  Then we canuse
TcHsSyn.conLikeResTy to get the pattern type when needed.

There are lots of knock-on incidental effects, but they mostly made
the code simpler, so I'm happy.

5 years agoSubsume NullaryTypeClasses by MultiParamTypeClasses (#8993)
Owen Stephens [Thu, 10 Apr 2014 16:44:11 +0000 (17:44 +0100)] 
Subsume NullaryTypeClasses by MultiParamTypeClasses (#8993)

MPTC now also handles the nullary case

5 years agoExport `TimerManager` from GHC.Event (re #9165)
Herbert Valerio Riedel [Wed, 4 Jun 2014 07:45:27 +0000 (09:45 +0200)] 
Export `TimerManager` from GHC.Event (re #9165)

This just addresses the specific issue raised in #9165. However, I've noticed
the Haddock comments need to be improved, which will be addressed by a separate
commit.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoSet/update upstream repo url for haddock
Herbert Valerio Riedel [Wed, 4 Jun 2014 07:35:52 +0000 (09:35 +0200)] 
Set/update upstream repo url for haddock

In the future, some script will use the last column to configure
Git to redirect `push` operations to the respective primary Git
repo.

One way could be via the `pushInsteadOf` facility described in

  https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/Git/Submodules

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoComments only (related to Trac #7730)
Simon Peyton Jones [Tue, 3 Jun 2014 16:26:21 +0000 (17:26 +0100)] 
Comments only (related to Trac #7730)

5 years agoAdd :kind test in T7730
Simon Peyton Jones [Tue, 3 Jun 2014 16:15:21 +0000 (17:15 +0100)] 
Add :kind test in T7730

5 years agoUse IfLclName instead of OccName in IfaceEqSpec
Simon Peyton Jones [Tue, 3 Jun 2014 13:23:48 +0000 (14:23 +0100)] 
Use IfLclName instead of OccName in IfaceEqSpec

The type variables in the IfaceEqSpec of a data constructor are really
ordinarly *occurrences*, so they should be IfLclNames just like any
other type variable occurence.

5 years agoDo pretty-printing of TyThings via IfaceDecl (Trac #7730)
Simon Peyton Jones [Tue, 3 Jun 2014 13:15:52 +0000 (14:15 +0100)] 
Do pretty-printing of TyThings via IfaceDecl (Trac #7730)

All the initial work on this was done fy 'archblob' (fcsernik@gmail.com);
thank you!

I reviewed the patch, started some tidying, up and then ended up in a huge
swamp of changes, not all of which I can remember now.  But:

* To suppress kind arguments when we have -fno-print-explicit-kinds,
    - IfaceTyConApp argument types are in a tagged list IfaceTcArgs

* To allow overloaded types to be printed with =>, add IfaceDFunTy to IfaceType.

* When printing data/type family instances for the user, I've made them
  print out an informative RHS, which is a new feature. Thus
        ghci> info T
        data family T a
        data instance T Int = T1 Int Int
        data instance T Bool = T2

* In implementation terms, pprIfaceDecl has just one "context" argument,
  of type IfaceSyn.ShowSub, which says
       - How to print the binders of the decl
         see note [Printing IfaceDecl binders] in IfaceSyn
       - Which sub-comoponents (eg constructors) to print

* Moved FastStringEnv from RnEnv to OccName

It all took a ridiculously long time to do.  But it's done!

5 years agoFix inverted gadt-syntax flag for data families
Simon Peyton Jones [Tue, 3 Jun 2014 12:59:01 +0000 (13:59 +0100)] 
Fix inverted gadt-syntax flag for data families

5 years agoUse mkTcEqPred rather than mkEqPred
Simon Peyton Jones [Tue, 3 Jun 2014 12:58:27 +0000 (13:58 +0100)] 
Use mkTcEqPred rather than mkEqPred

This was mostly done in an earlier commit, but I missed these two

5 years agoRename TypeRep.Prec to TypeRep.TyPrec
Simon Peyton Jones [Tue, 3 Jun 2014 12:57:42 +0000 (13:57 +0100)] 
Rename TypeRep.Prec to TypeRep.TyPrec

5 years agofix missing space
Ryan Mulligan [Tue, 3 Jun 2014 04:20:01 +0000 (21:20 -0700)] 
fix missing space

5 years agoImprove Note [Order of Coercible Instances] about Trac #9117
Simon Peyton Jones [Fri, 30 May 2014 09:25:21 +0000 (10:25 +0100)] 
Improve Note [Order of Coercible Instances] about Trac #9117

5 years agoFix missing unlockClosure() call in tryReadMVar (#9148)
Simon Marlow [Fri, 30 May 2014 07:47:26 +0000 (08:47 +0100)] 
Fix missing unlockClosure() call in tryReadMVar (#9148)

5 years agoJust formatting
Simon Marlow [Fri, 16 May 2014 09:19:45 +0000 (10:19 +0100)] 
Just formatting

5 years agoRemove deprecated -optdep options
Simon Marlow [Fri, 16 May 2014 09:19:19 +0000 (10:19 +0100)] 
Remove deprecated -optdep options

5 years agomkHiPath & mkObjPath didn't need to be in IO
Simon Marlow [Fri, 16 May 2014 09:18:03 +0000 (10:18 +0100)] 
mkHiPath & mkObjPath didn't need to be in IO

5 years agoDisable FixEither tests in TcCoercible
Joachim Breitner [Fri, 30 May 2014 08:04:10 +0000 (10:04 +0200)] 
Disable FixEither tests in TcCoercible

This fixes #9153. It has not been noticed before because this
TcCoercible does not run with "make fast=YES"

5 years agoPer-capability nursery weak pointer lists, fixes #9075
Edward Z. Yang [Fri, 30 May 2014 03:05:51 +0000 (20:05 -0700)] 
Per-capability nursery weak pointer lists, fixes #9075

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoRemove obsolete -fno-warn-amp from spec001
Edward Z. Yang [Fri, 30 May 2014 00:36:48 +0000 (17:36 -0700)] 
Remove obsolete -fno-warn-amp from spec001

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoRefresh recomp006 error message.
Edward Z. Yang [Fri, 30 May 2014 00:35:53 +0000 (17:35 -0700)] 
Refresh recomp006 error message.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agos/implict/implicit/i
Edward Z. Yang [Fri, 30 May 2014 00:25:41 +0000 (17:25 -0700)] 
s/implict/implicit/i

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoAdd missing stderr file for tcrun045.
Edward Z. Yang [Fri, 30 May 2014 00:29:25 +0000 (17:29 -0700)] 
Add missing stderr file for tcrun045.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoFix bitrotted GHC API test T6145.
Edward Z. Yang [Fri, 30 May 2014 00:20:50 +0000 (17:20 -0700)] 
Fix bitrotted GHC API test T6145.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoAdd .gitignore for autogenerated test files.
Edward Z. Yang [Fri, 30 May 2014 00:07:06 +0000 (17:07 -0700)] 
Add .gitignore for autogenerated test files.

I used this shell command to automatically generate the lists:

for i in `git ls-files -o --exclude-standard --directory`; do echo "`basename $i`" >> "`dirname "$i"`/.gitignore"; done

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoUpdate T4891, T8639_api to follow 73c08ab10 (GHCi naming changes)
Edward Z. Yang [Thu, 29 May 2014 23:58:02 +0000 (16:58 -0700)] 
Update T4891, T8639_api to follow 73c08ab10 (GHCi naming changes)

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>