Delete old comments referring to newSession

As Herbert pointed it, it was removed a long time ago.

Authored-by: Kazu Yamamoto <kazu@iij.ad.jp>
Signed-off-by: Austin Seipp <austin@well-typed.com>
Persist annotations to interface files (#3725)

Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
fingerprint.py: Invoke 'perl' manually (#8283)

This fixes the fingerprint script on windows, since we can't rely on
using '#!/usr/bin/perl'

Signed-off-by: Austin Seipp <austin@well-typed.com>
Add TH support for annotations (#8340)

Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
Add support for prefetch with locality levels.

This patch adds support for several new primitive operations which
support using processor-specific instructions to help guide data and
cache locality decisions. We have levels ranging from [0..3]

For LLVM, we generate llvm.prefetch intrinsics at the proper locality
level (similar to GCC.)

For x86 we generate prefetch{NTA, t2, t1, t0} instructions. On SPARC and
PowerPC, the locality levels are ignored.

This closes #8256.

Authored-by: Carter Tazio Schonwald <carter.schonwald@gmail.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
Release note updates.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Remove glasgow-exts from :help

It's deprecated
Update manual regarding unboxed tuples

Since 7.6 they can be used as function arguments
Initialize gc_thread.mut_spin to the 'acquired' state
Look through tick-boxes when looking for integral literals in the desugarer

Fixes Trac #8334
Tidy up the commit for Trac #3725

In particular, the mi_ann_fn field in ModIface was only being used
totally locally in MkIface, so I made it local.

Other than that I just refactored data types slightly,
  * Adding synonym Annotations.AnnPayload for the cryptic Serialized
  * Adding MkIface.IfaceIdExtras to common up some of the identical code
Improve -XAllowAmbiguousTypes (Trac #8392)

* Add a suggestion to add AllowAmbiguousTypes when there is an
  ambiguity error

* Move some of the logic to tcSimplifyAmbiguityCheck

* Report inaccessible code regardless of the ambiguity check
Tiny comment on the change from StgWord8 to StgWord

c.f. commit 0b0fec536e35769b64b8bc5397c84138fa512155
Close over kinds when checking fundep coverage (Trac #8391)

See Note [Closing over kinds in coverage] in FunDeps
Fix Trac #8368.

Two different fixes were necessary here. First, we need to fail eagerly
in kcConDecl, to prevent the return-type error in tcConDecl from firing
twice. (This wasn't caught earlier because of the eager fail in the
datatype kind-checking code -- which isn't used for data instances!)
We also must check again in tcDataFamInstDecl, because it's possible for
a data instance return type to have the right head but the wrong body
(i.e., doesn't conform to the data instance type patterns). This check
is only possible *after* desugaring from HsType to Type, so it can't be
done in tcConRes with the first check.

This is documented in a comment at check_valid_data_con, a local
function within tcDataFamInstDecl.
s/Heep/Heap/

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
s/pathalogical/pathological/

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Update `bytestring` library to latest upstream HEAD
Add PatSynDecl to TyClDecl
Lexer and parser support for new language pragma PatternSynonyms