More clarity on CurrentAlloc docs.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Change backslash to vertical bar in comment

This is to avoid

  rts/sm/Storage.c: In function ‘allocate’:
  rts/sm/Storage.c:725:13:
       error: multi-line comment [-Werror=comment]
  cc1: all warnings being treated as errors
Print (non-representational) roles when display TyCon information
docs for new layout behaviour with MultiWayIf (#7783)
Fix grammar
Catch some popular typos in comments
GHCi: Expand ~ in :script command

Fixes: #7685
Clean up some outdated comments (#8418)

Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
Release note fix.

Thanks to Gergely Risko for pointing this out.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Turn -H and -Rghc-timing into dynamic flags.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Use evaldUnfolding for proxyHashId

Edward and I noticed this - like realWorld#, we want things applied to
proxy# which are INLINE more likely to be inlined - we do this by
marking proxy# as having an evaldUnfolding, which in turn makes it look
like the primitive is evaluated and makes the simplifier more willing to
do so.

See Note [evaldUnfoldings] in MkId.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Nuke {save,restore}StaticFlagGlobals.

As discussed in #8276, this code was somewhat broken because while you
could always revert the actual argument list, you can never revert the
CAFs upon which they are based - so really this didn't buy you much.

However, Haddock in particular expects to be able to parse GHC flags,
including static flags, and used this code to do so. In its place, we
instead have discardStaticFlags, which will safely remove any of the
remaining 5 flags from a list of arguments. Haddock instead discards
these, as they aren't related to anything it does anyway (mostly
controlling debugging output and some basic optimizer phases.)

This fixes #8276. In the future, we will eventually completely remove
the remaining StaticFlags, removing the need for this fix. Unfortunately
these changes will be quite invasive and require more time.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Typos
Show parentheses when printing type (forall x. T1) T2 (#8428)

Patch by klao
Update and clean-up the implmenation of GHC.TypeLits

* Replace class `SingI` with two separate classes: `KnownNat` and `KnownSymbol`

* Rename `magicSingId` to `magicDictId`.

* Simplify and clean-up the "magic" implementation.  This version makes
  a lot more sense, at least to me :-)

* Update notes about how it all works:

  Note [KnownNat & KnownSymbol and EvLit] explains the evidence for the
  built-in classes

  Note [magicDictId magic] explains how we coerce singleton values into
  dictionaries.  This is used to turn run-time integers and strings into
  Proxy singletons of unknwon type (using an existential).
Update `bytestring` to final 0.10.4.0 release
Clarify the TSO_SQUEEZED check.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Typofix.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Use dynamic linking only if the GHC package is compiled with -dynamic (#8376)
Fix up the conditions for zeroing slop (#8402)