Remove a few redundant `-fno-warn-tabs`s
Detab DataCon

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Update `binary` submodule in an attempt to address #9630

This removes a couple of `INLINE` pragmas from the generics helper
classes. With this change the compile times and memory usage should
go back to the previous GHC 7.8.3 situation.

This has been submitted upstream as https://github.com/kolmodin/binary/pull/62
[ci skip] iface: detabify/dewhitespace IfaceSyn

Signed-off-by: Austin Seipp <austin@well-typed.com>
[ci skip] simplCore: detabify/dewhitespace CoreMonad

Signed-off-by: Austin Seipp <austin@well-typed.com>
[ci skip] typecheck: detabify/dewhitespace TcInstDecls

Signed-off-by: Austin Seipp <austin@well-typed.com>
[ci skip] typecheck: detabify/dewhitespace TcPat

Signed-off-by: Austin Seipp <austin@well-typed.com>
[ci skip] typecheck: detabify/dewhitespace TcTyDecls

Signed-off-by: Austin Seipp <austin@well-typed.com>
[ci skip] typecheck: detabify/dewhitespace TcUnify

Signed-off-by: Austin Seipp <austin@well-typed.com>
types: detabify/dewhitespace Unify

Signed-off-by: Austin Seipp <austin@well-typed.com>
Refer to 'mask' instead of 'block' in Control.Exception

Summary: More thorough version of a75383cdd46f7bb593639bc6d1628b068b78262a

Test Plan:
change of comments only

[skip ci]

Reviewers: austin, simonmar, ekmett

Reviewed By: austin, ekmett

Subscribers: simonmar, ezyang, carter

Differential Revision: https://phabricator.haskell.org/D239
Delete hack that was once needed to fix the build

Summary:
Introduced in 6c7b41cc2b24f533697a62bf1843507ae043fc97.

I checked the rest of that commit, and this is all that was left to revert.

Test Plan: x

Reviewers: ezyang, austin

Reviewed By: ezyang, austin

Subscribers: simonmar, ezyang, carter, thomie

Differential Revision: https://phabricator.haskell.org/D241
User's Guide: various unfolding-related fixes

Test Plan: harbormaster

Reviewers: austin

Reviewed By: austin

Subscribers: simonmar, ezyang, carter, thomie

Differential Revision: https://phabricator.haskell.org/D243
Fixes cyclic import on OS X(#9635)

Summary: Signed-off-by: Dave Laing <dave.laing.80@gmail.com>

Test Plan: Locally tested

Reviewers: thomie, austin

Reviewed By: thomie, austin

Subscribers: simonmar, ezyang, carter, thomie

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

GHC Trac Issues: #9635
Defer errors in derived instances

Fixes Trac #9576.  Turned out to be pretty easy.
Do not discard insoluble Derived constraints

This is preparing for a fix to Trac #9612. The idea is that insoluble
constraints are nice solid errors that we should not discard before
we have a chance to report them.  So TcRnTypes.dropDerivedWC now
keeps insoluble Derived constrains, and instead TcSimplify.solve_wanteds
filters them out

We get somewhat better error message for kind-equality failures too.

A slight downside is that to avoid *duplicate* kind-equality failures
when we float a kind-incompatible equality (e.g.  alpha:* ~ Int#),
I've disabled constraint-floating when there are insolubles.  But that
in turn makes a handful of error messages a little less informative;
good examples are mc21, mc22, mc25.  But I am re-jigging the
constraint floating machinery in another branch, which will make this
go back to the way it was before.
Wibble to implicit-parameter error message
Improve error messages from functional dependencies

Reponding to Trac #9612:

 * Track the CtOrigin of a Derived equality, arising from a
   functional dependency

 * And report it clearly in the error stream

This relies on a previous commit, in which I stop dropping Derived
insolubles on the floor.
Two improved error messages

I'm not quite sure why these have improved following the previous
four commits, but I'm quite happy about it
Complain about illegal type literals in renamer, not parser

A premature complaint was causing Trac #9634.  Acutally this
change also simplifies the lexer and eliminates duplication.
(The renamer was already making the check, as it happens.)