ghc.git
6 years agoUpdate and clean-up the implmenation of GHC.TypeLits
Iavor S. Diatchki [Thu, 10 Oct 2013 02:22:35 +0000 (19:22 -0700)] 
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).

6 years agoShow parentheses when printing type (forall x. T1) T2 (#8428)
Krzysztof Gogolewski [Wed, 9 Oct 2013 20:08:02 +0000 (22:08 +0200)] 
Show parentheses when printing type (forall x. T1) T2 (#8428)

Patch by klao

6 years agoTypos
Krzysztof Gogolewski [Wed, 9 Oct 2013 18:02:57 +0000 (20:02 +0200)] 
Typos

6 years agoNuke {save,restore}StaticFlagGlobals.
Austin Seipp [Wed, 9 Oct 2013 15:47:06 +0000 (10:47 -0500)] 
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>
6 years agoUse evaldUnfolding for proxyHashId
Austin Seipp [Wed, 9 Oct 2013 13:49:19 +0000 (08:49 -0500)] 
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>
6 years agoTurn -H and -Rghc-timing into dynamic flags.
Austin Seipp [Wed, 9 Oct 2013 11:39:10 +0000 (06:39 -0500)] 
Turn -H and -Rghc-timing into dynamic flags.

Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoRelease note fix.
Austin Seipp [Wed, 9 Oct 2013 08:04:00 +0000 (03:04 -0500)] 
Release note fix.

Thanks to Gergely Risko for pointing this out.

Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoClean up some outdated comments (#8418)
Austin Seipp [Wed, 9 Oct 2013 08:02:29 +0000 (03:02 -0500)] 
Clean up some outdated comments (#8418)

Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoGHCi: Expand ~ in :script command
Joachim Breitner [Sun, 6 Oct 2013 21:38:34 +0000 (23:38 +0200)] 
GHCi: Expand ~ in :script command

Fixes: #7685

6 years agoCatch some popular typos in comments
Gabor Greif [Tue, 8 Oct 2013 21:46:23 +0000 (23:46 +0200)] 
Catch some popular typos in comments

6 years agoFix grammar
Gabor Greif [Tue, 8 Oct 2013 21:35:35 +0000 (23:35 +0200)] 
Fix grammar

6 years agodocs for new layout behaviour with MultiWayIf (#7783)
Simon Marlow [Tue, 8 Oct 2013 18:29:21 +0000 (19:29 +0100)] 
docs for new layout behaviour with MultiWayIf (#7783)

6 years agoPrint (non-representational) roles when display TyCon information
Simon Peyton Jones [Tue, 8 Oct 2013 17:07:37 +0000 (18:07 +0100)] 
Print (non-representational) roles when display TyCon information

6 years agoChange backslash to vertical bar in comment
Simon Peyton Jones [Tue, 8 Oct 2013 13:05:08 +0000 (14:05 +0100)] 
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

6 years agoMore clarity on CurrentAlloc docs.
Edward Z. Yang [Mon, 7 Oct 2013 04:31:52 +0000 (21:31 -0700)] 
More clarity on CurrentAlloc docs.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoRemove deprecated _scc_ (#8170)
Krzysztof Gogolewski [Sat, 24 Aug 2013 14:40:06 +0000 (16:40 +0200)] 
Remove deprecated _scc_ (#8170)

6 years agoAdd release note item for new Monoid Const instance
Herbert Valerio Riedel [Sat, 5 Oct 2013 14:35:09 +0000 (16:35 +0200)] 
Add release note item for new Monoid Const instance

See [6f3a194accd2a1a75a3f86c1b4dca30521488110/base]

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
6 years agoRemove tab.
Geoffrey Mainland [Fri, 4 Oct 2013 21:57:07 +0000 (17:57 -0400)] 
Remove tab.

6 years agoMerge New Template Haskell branch.
Geoffrey Mainland [Fri, 4 Oct 2013 21:52:52 +0000 (17:52 -0400)] 
Merge New Template Haskell branch.

6 years agoAdd support for Template Haskell state.
Geoffrey Mainland [Tue, 4 Jun 2013 15:29:11 +0000 (16:29 +0100)] 
Add support for Template Haskell state.

6 years agoAdd support for Template Haskell module finalizers.
Geoffrey Mainland [Tue, 4 Jun 2013 13:15:00 +0000 (14:15 +0100)] 
Add support for Template Haskell module finalizers.

Template Haskell module finalizers are run after a module is type checked.

6 years agoChange the types of typed brackets and splices.
Geoffrey Mainland [Tue, 21 May 2013 14:07:09 +0000 (15:07 +0100)] 
Change the types of typed brackets and splices.

The essence of this change is that a TExp a now wraps a TH.Exp instead of a
TH.ExpQ. This means:

 * A typed bracket [||...||] now has type Q (TExp tau), where tau is the type of
   the expression in the bracket.

 * A typed splice $(...)  must contain a value of type Q (TExp tau), and has
   type tau.

Previously, typed brackets had type TExp tau, and typed splices had to contain a
value of type TExp tau.

6 years agoAllow splices to add additional top-level declarations.
Geoffrey Mainland [Tue, 21 May 2013 12:38:15 +0000 (13:38 +0100)] 
Allow splices to add additional top-level declarations.

6 years agoCode formatting cleanup.
Geoffrey Mainland [Tue, 21 May 2013 12:26:02 +0000 (13:26 +0100)] 
Code formatting cleanup.

6 years agoAdd full support for declaration splices.
Geoffrey Mainland [Mon, 20 May 2013 10:37:59 +0000 (11:37 +0100)] 
Add full support for declaration splices.

Since declaration splices are now untyped, they can be used anywhere a
declaration is valid, including in declaration brackets.

6 years agoAdd support for pattern splices.
Geoffrey Mainland [Thu, 16 May 2013 16:18:22 +0000 (17:18 +0100)] 
Add support for pattern splices.

6 years agoClean up smart constructors for splices.
Geoffrey Mainland [Thu, 16 May 2013 15:47:06 +0000 (16:47 +0100)] 
Clean up smart constructors for splices.

6 years agoClean up error context when checking brackets/splices.
Geoffrey Mainland [Thu, 16 May 2013 14:11:36 +0000 (15:11 +0100)] 
Clean up error context when checking brackets/splices.

6 years agoAdd support for typed brackets and splices.
Geoffrey Mainland [Wed, 15 May 2013 16:43:36 +0000 (17:43 +0100)] 
Add support for typed brackets and splices.

6 years agoTrack TH stage in the renamer.
Geoffrey Mainland [Wed, 1 May 2013 16:45:22 +0000 (17:45 +0100)] 
Track TH stage in the renamer.

6 years agoCheck the staging restriction in the renamer.
Geoffrey Mainland [Thu, 25 Apr 2013 13:40:08 +0000 (14:40 +0100)] 
Check the staging restriction in the renamer.

6 years agoTrack the typed/untyped distinction in the current TH stage.
Geoffrey Mainland [Thu, 25 Apr 2013 12:11:23 +0000 (13:11 +0100)] 
Track the typed/untyped distinction in the current TH stage.

Also check for illegal typed/untyped bracket/splice combinations.

6 years agoDifferentiate typed and untyped splices and brackets in the abstract syntax.
Geoffrey Mainland [Wed, 24 Apr 2013 14:31:43 +0000 (15:31 +0100)] 
Differentiate typed and untyped splices and brackets in the abstract syntax.

6 years agoAdd names for TExp type constructor and unType.
Geoffrey Mainland [Wed, 24 Apr 2013 13:33:51 +0000 (14:33 +0100)] 
Add names for TExp type constructor and unType.

6 years agoAdd syntactic support for typed expression brackets and splices.
Geoffrey Mainland [Wed, 24 Apr 2013 12:57:35 +0000 (13:57 +0100)] 
Add syntactic support for typed expression brackets and splices.

Right now the syntax for typed expression brackets and splices maps to
conventional brackets and splices, i.e., they are not typed.

6 years agoConsolidate TH renaming.
Geoffrey Mainland [Wed, 24 Apr 2013 07:41:50 +0000 (08:41 +0100)] 
Consolidate TH renaming.

6 years agoMove renamer splice functionality into a separate module.
Geoffrey Mainland [Tue, 23 Apr 2013 21:10:48 +0000 (22:10 +0100)] 
Move renamer splice functionality into a separate module.

This structure now matches that of the type checker.

6 years agoSimplify the plumbing for checkValidTyCl
Simon Peyton Jones [Fri, 4 Oct 2013 17:50:08 +0000 (18:50 +0100)] 
Simplify the plumbing for checkValidTyCl

Instead of walking over the source decls, and looking up the Name
to find the TyCon or whatever, we just walk over the list of
TyThings that have been brought into scope.  This is much tidier.

The only wrinkle is that, since we don't have the original declaration,
we don't have its SrcSpan to put in the error message.  I fixed this
by making the SrcSpan for the TyCon itself be the span of the whole
declaration.  This actually makes sense anyway.

There are bunch of error message wibbles in consequence.

6 years agoComments and white space only
Simon Peyton Jones [Fri, 4 Oct 2013 17:47:15 +0000 (18:47 +0100)] 
Comments and white space only

6 years agoSimplify printing of boot-file mis-matches, by using PprTyThing.pprTyThing
Simon Peyton Jones [Fri, 4 Oct 2013 17:45:55 +0000 (18:45 +0100)] 
Simplify printing of boot-file mis-matches, by using PprTyThing.pprTyThing

6 years agoSimplify PprTyThing
Simon Peyton Jones [Fri, 4 Oct 2013 17:43:07 +0000 (18:43 +0100)] 
Simplify PprTyThing

In particular, don't import GHC (a historical hangover), which
makes this module live much lower down in the module hierarchy.

This in turn means we can call it from TcRnDriver

6 years agoImprove pretty-printing of IfaceSyn type families
Simon Peyton Jones [Fri, 4 Oct 2013 17:42:04 +0000 (18:42 +0100)] 
Improve pretty-printing of IfaceSyn type families

6 years agoFix the bytecode genreation for tagToEnum# (Trac #8383)
Simon Peyton Jones [Fri, 4 Oct 2013 17:41:19 +0000 (18:41 +0100)] 
Fix the bytecode genreation for tagToEnum# (Trac #8383)

Reid Barton's diagnosis was right on the mark, though the fix
wasn't quite right.  See Note [Implementing tagToEnum#].

As usual I did some refactoring.

6 years agoWibble in user docs
Simon Peyton Jones [Fri, 4 Oct 2013 11:10:44 +0000 (12:10 +0100)] 
Wibble in user docs

6 years agoComments only
Simon Peyton Jones [Fri, 4 Oct 2013 11:10:30 +0000 (12:10 +0100)] 
Comments only

6 years agoUpdate `bytestring` library to latest upstream HEAD
Herbert Valerio Riedel [Fri, 4 Oct 2013 08:27:02 +0000 (10:27 +0200)] 
Update `bytestring` library to latest upstream HEAD

6 years agos/pathalogical/pathological/
Edward Z. Yang [Thu, 3 Oct 2013 22:16:19 +0000 (15:16 -0700)] 
s/pathalogical/pathological/

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agos/Heep/Heap/
Edward Z. Yang [Thu, 3 Oct 2013 22:04:54 +0000 (15:04 -0700)] 
s/Heep/Heap/

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoFix Trac #8368.
Richard Eisenberg [Thu, 3 Oct 2013 14:06:53 +0000 (10:06 -0400)] 
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.

6 years agoClose over kinds when checking fundep coverage (Trac #8391)
Simon Peyton Jones [Wed, 2 Oct 2013 12:59:41 +0000 (13:59 +0100)] 
Close over kinds when checking fundep coverage (Trac #8391)

See Note [Closing over kinds in coverage] in FunDeps

6 years agoTiny comment on the change from StgWord8 to StgWord
Simon Peyton Jones [Wed, 2 Oct 2013 12:57:41 +0000 (13:57 +0100)] 
Tiny comment on the change from StgWord8 to StgWord

c.f. commit 0b0fec536e35769b64b8bc5397c84138fa512155

6 years agoImprove -XAllowAmbiguousTypes (Trac #8392)
Simon Peyton Jones [Wed, 2 Oct 2013 12:56:04 +0000 (13:56 +0100)] 
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

6 years agoTidy up the commit for Trac #3725
Simon Peyton Jones [Wed, 2 Oct 2013 12:52:58 +0000 (13:52 +0100)] 
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

6 years agoLook through tick-boxes when looking for integral literals in the desugarer
Simon Peyton Jones [Wed, 2 Oct 2013 12:49:23 +0000 (13:49 +0100)] 
Look through tick-boxes when looking for integral literals in the desugarer

Fixes Trac #8334

6 years agoInitialize gc_thread.mut_spin to the 'acquired' state
Patrick Palka [Sun, 29 Sep 2013 21:11:51 +0000 (17:11 -0400)] 
Initialize gc_thread.mut_spin to the 'acquired' state

6 years agoUpdate manual regarding unboxed tuples
Krzysztof Gogolewski [Tue, 1 Oct 2013 16:09:39 +0000 (18:09 +0200)] 
Update manual regarding unboxed tuples

Since 7.6 they can be used as function arguments

6 years agoRemove glasgow-exts from :help
Krzysztof Gogolewski [Tue, 1 Oct 2013 13:58:07 +0000 (15:58 +0200)] 
Remove glasgow-exts from :help

It's deprecated

6 years agoRelease note updates.
Austin Seipp [Wed, 2 Oct 2013 06:28:52 +0000 (01:28 -0500)] 
Release note updates.

Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoAdd support for prefetch with locality levels.
Austin Seipp [Wed, 2 Oct 2013 02:13:14 +0000 (21:13 -0500)] 
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>
6 years agoAdd TH support for annotations (#8340)
Austin Seipp [Wed, 2 Oct 2013 02:07:44 +0000 (21:07 -0500)] 
Add TH support for annotations (#8340)

Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agofingerprint.py: Invoke 'perl' manually (#8283)
Muhaimin Ahsan [Fri, 13 Sep 2013 06:26:32 +0000 (01:26 -0500)] 
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>
6 years agoPersist annotations to interface files (#3725)
Austin Seipp [Wed, 2 Oct 2013 01:49:52 +0000 (20:49 -0500)] 
Persist annotations to interface files (#3725)

Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoDelete old comments referring to newSession
Austin Seipp [Wed, 2 Oct 2013 01:48:21 +0000 (20:48 -0500)] 
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>
6 years agoTypos in comments
Gabor Greif [Tue, 1 Oct 2013 19:44:23 +0000 (21:44 +0200)] 
Typos in comments

6 years agoImprove error message for fundeps a bit more
Simon Peyton Jones [Tue, 1 Oct 2013 18:20:21 +0000 (19:20 +0100)] 
Improve error message for fundeps a bit more

6 years agoWhite space and line endings
Simon Peyton Jones [Tue, 1 Oct 2013 18:20:03 +0000 (19:20 +0100)] 
White space and line endings

6 years agoWibble (change of flag name)
Simon Peyton Jones [Tue, 1 Oct 2013 18:18:53 +0000 (19:18 +0100)] 
Wibble (change of flag name)

6 years agoDocumentation for -fprint-explicit-foralls and -fprint-explicit-kinds
Simon Peyton Jones [Tue, 1 Oct 2013 18:18:27 +0000 (19:18 +0100)] 
Documentation for -fprint-explicit-foralls and -fprint-explicit-kinds

Plus a tidy-up of the flag documentation in the immediate area

6 years agoRemove trailing whitespace and tabs
Simon Peyton Jones [Tue, 1 Oct 2013 17:15:07 +0000 (18:15 +0100)] 
Remove trailing whitespace and tabs

6 years agoImprove pretty-printing of types
unknown [Tue, 1 Oct 2013 15:34:00 +0000 (16:34 +0100)] 
Improve pretty-printing of types

* The main change is to suppress printing (in types) of
     kind for-alls
     kind applications
  The new flag -fprint-explicit-kinds prints them as before
  (by analogy with the existing -fprint-explicit-foralls)

* I also took advantage of the fact that SDoc now has access
  to DynFlags, to tidy up the way in which explicit for-alls
  are printed.  Instead of passing a boolean flag around, we
  now simply consult the DynFlags.  Much neater.

I still need to add documentation for the flag

6 years agoImprove error reporting of fundep coverage condition failure
unknown [Sat, 28 Sep 2013 16:08:37 +0000 (17:08 +0100)] 
Improve error reporting of fundep coverage condition failure

This modest improvement is motivated by Trac #8356

6 years agoLook inside tuple predicates when checking instance declaration contexts
unknown [Thu, 26 Sep 2013 18:10:04 +0000 (19:10 +0100)] 
Look inside tuple predicates when checking instance declaration contexts

This fixes Trac #8359

6 years agoComments only
unknown [Tue, 24 Sep 2013 19:01:52 +0000 (20:01 +0100)] 
Comments only

6 years agoMove defaultClassMinimalDef from BuildTyCl to TcClassDcl
unknown [Tue, 24 Sep 2013 19:01:31 +0000 (20:01 +0100)] 
Move defaultClassMinimalDef from BuildTyCl to TcClassDcl

Simple refactoring.

Also in Vectorise.Types/TyConDecl, simply propagate the classMinimalDef
from the class we are vectorising. Simpler and more direct.

6 years agoComments only
unknown [Tue, 24 Sep 2013 18:59:25 +0000 (19:59 +0100)] 
Comments only

6 years agoBetter docs for MINIMAL
unknown [Mon, 23 Sep 2013 03:39:02 +0000 (04:39 +0100)] 
Better docs for MINIMAL

6 years agoLift an unnecessary assumption in the demand analyser (fix Trac #8329)
Simon Peyton Jones [Tue, 1 Oct 2013 08:27:53 +0000 (09:27 +0100)] 
Lift an unnecessary assumption in the demand analyser (fix Trac #8329)

Here's the Note about the (simple) fix.  Apparently #8329 prevented all
23 packages of the Snap framework from compiling.

Note [Demand transformer for a ditionary selector]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If we evaluate (op dict-expr) under demand 'd', then we can push the demand 'd'
into the appropriate field of the dictionary. What *is* the appropriate field?
We just look at the strictness signature of the class op, which will be
something like: U(AAASAAAAA).  Then replace the 'S' by the demand 'd'.

For single-method classes, which are represented by newtypes the signature
of 'op' won't look like U(...), so the splitProdDmd_maybe will fail.
That's fine: if we are doing strictness analysis we are also doing inling,
so we'll have inlined 'op' into a cast.  So we can bale out in a conservative
way, returning topDmdType.

It is (just.. Trac #8329) possible to be running strictness analysis *without*
having inlined class ops from single-method classes.  Suppose you are using
ghc --make; and the first module has a local -O0 flag.  So you may load a class
without interface pragmas, ie (currently) without an unfolding for the class
ops.   Now if a subsequent module in the --make sweep has a local -O flag
you might do strictness analysis, but there is no inlining for the class op.
This is wierd so I'm not worried about whether this optimises brilliantly; but
it should not fall over.

6 years agocomment update
Simon Marlow [Fri, 27 Sep 2013 19:59:49 +0000 (20:59 +0100)] 
comment update

6 years agoAdd layout to MultiWayIf (#7783)
Simon Marlow [Fri, 27 Sep 2013 19:59:41 +0000 (20:59 +0100)] 
Add layout to MultiWayIf (#7783)

This makes it possible to write

x = if | False -> if | False -> 1
                     | False -> 2
       | True -> 3

Layout normally inserts semicolons between declarations at the same
indentation level, so I added optional semicolons to the syntax for
guards in MultiWayIf syntax.  This is a bit of a hack, but the
alternative (a special kind of layout that doesn't insert semicolons)
seemed worse, or at least equally bad.

6 years agoAdd back a comment that got lost
Simon Marlow [Thu, 26 Sep 2013 16:10:26 +0000 (17:10 +0100)] 
Add back a comment that got lost

6 years agoClarification in the docs for INLINE
Simon Marlow [Thu, 26 Sep 2013 15:28:34 +0000 (16:28 +0100)] 
Clarification in the docs for INLINE

People often jump to the conclusion that functions aren't inlined
unless you say INLINE, so clarify the documentation to emphasize the
fact that you shouldn't normally need to use INLINE unless you need to
override the defaults.

6 years agoRemove a couple of unnecessary/outdated references to HBC
Simon Marlow [Thu, 26 Sep 2013 15:06:14 +0000 (16:06 +0100)] 
Remove a couple of unnecessary/outdated references to HBC

6 years agogrammar fix
Simon Marlow [Mon, 23 Sep 2013 15:05:19 +0000 (16:05 +0100)] 
grammar fix

6 years agoGlobally replace "hackage.haskell.org" with "ghc.haskell.org"
Simon Marlow [Mon, 23 Sep 2013 15:03:44 +0000 (16:03 +0100)] 
Globally replace "hackage.haskell.org" with "ghc.haskell.org"

6 years agouse StgWord not StgWord8 for wakeup
Simon Marlow [Tue, 17 Sep 2013 20:49:53 +0000 (21:49 +0100)] 
use StgWord not StgWord8 for wakeup

volatile StgWord8 is not guaranteed to be atomic.

6 years agouse a nat, not StgWord8, for gc_type
Simon Marlow [Tue, 17 Sep 2013 20:48:55 +0000 (21:48 +0100)] 
use a nat, not StgWord8, for gc_type

6 years agoRemove use of R9, and fix associated bugs
Simon Marlow [Tue, 17 Sep 2013 20:48:39 +0000 (21:48 +0100)] 
Remove use of R9, and fix associated bugs

We were passing the function address to stg_gc_prim_p in R9, which was
wrong because the call was a high-level call and didn't declare R9 as
a parameter.  Passing R9 as an argument is the right way, but
unfortunately that exposed another bug: we were using the same macro
in some low-level Cmm, where it is illegal to call functions with
arguments (see Note [syntax of cmm files]).  So we now have low-level
variants of STK_CHK() and STK_CHK_P() for use in low-level Cmm code.

6 years agoExpand the commentary in Note [syntax of cmm files]
Simon Marlow [Tue, 17 Sep 2013 20:42:54 +0000 (21:42 +0100)] 
Expand the commentary in Note [syntax of cmm files]

6 years agoTypos in users' guide
Krzysztof Gogolewski [Tue, 1 Oct 2013 09:44:00 +0000 (11:44 +0200)] 
Typos in users' guide

6 years agoCompare against pRELUDE_NAME instead of "Prelude"
Patrick Palka [Mon, 30 Sep 2013 19:15:42 +0000 (15:15 -0400)] 
Compare against pRELUDE_NAME instead of "Prelude"

6 years agoFix AMP warnings for explicit Prelude imports (#8004)
Austin Seipp [Sun, 29 Sep 2013 23:12:13 +0000 (18:12 -0500)] 
Fix AMP warnings for explicit Prelude imports (#8004)

No AMP warnings will be issued anymore when the name is not imported
from Prelude anymore. For example, a local definition of 'join' is now
legal in modules containing 'import Prelude (map)' for example. This
allows better future-proofing of libraries.

See also http://ghc.haskell.org/trac/ghc/ticket/8004#comment:16

Authored-by: David Luposchainsky <dluposchainsky@gmail.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoMention the Foldable and Traversable instances for Const r in the user guide
Edward Kmett [Fri, 27 Sep 2013 18:20:45 +0000 (14:20 -0400)] 
Mention the Foldable and Traversable instances for Const r in the user guide

Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoAdd a note about Proxy# to the user guide
Edward Kmett [Fri, 27 Sep 2013 18:37:26 +0000 (14:37 -0400)] 
Add a note about Proxy# to the user guide

Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoRemove extra space in LIBFFI_CFLAGS (#8349)
Peter Trommler [Sun, 22 Sep 2013 16:55:54 +0000 (18:55 +0200)] 
Remove extra space in LIBFFI_CFLAGS (#8349)

Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoFix BCO bitmap generation on 32-bit platforms (#8377)
Takano Akio [Sat, 28 Sep 2013 08:45:47 +0000 (17:45 +0900)] 
Fix BCO bitmap generation on 32-bit platforms (#8377)

On 32-bit platforms, the bitmap should be an array of
32-bit words, not Word64s.

Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoMake lazy unlifted bindings an error by default.
Austin Seipp [Tue, 10 Sep 2013 02:50:52 +0000 (21:50 -0500)] 
Make lazy unlifted bindings an error by default.

This was supposed to happen a long time ago, but later is better than
never. This makes `-fwarn-lazy-unlifted-bindings` into a no-op (with its
own warning) to be removed in GHC 7.10.

This fixes #8022.

Signed-off-by: Austin Seipp <austin@well-typed.com>
6 years agoTeach sync-all how to rewrite submodule repo urls
Herbert Valerio Riedel [Sat, 28 Sep 2013 08:15:21 +0000 (10:15 +0200)] 
Teach sync-all how to rewrite submodule repo urls

This applies attachment:sync-all-submodules-locally.diff from #8369

Authored-by: Nathaniel Filardo
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
6 years agoFix typo in sync-all script. (#8375)
Muhaimin Ahsan [Sat, 28 Sep 2013 04:44:58 +0000 (23:44 -0500)] 
Fix typo in sync-all script. (#8375)

6 years agoRnNames.lhs : Reuse existing function.
Erik de Castro Lopo [Fri, 27 Sep 2013 18:50:54 +0000 (04:50 +1000)] 
RnNames.lhs : Reuse existing function.

6 years agoWhitespace only.
Erik de Castro Lopo [Mon, 23 Sep 2013 19:09:02 +0000 (05:09 +1000)] 
Whitespace only.