ghc.git
7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Wed, 13 Jun 2012 16:26:56 +0000 (17:26 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoSimplify the implementation of Implicit Parameters
Simon Peyton Jones [Wed, 13 Jun 2012 16:21:09 +0000 (17:21 +0100)] 
Simplify the implementation of Implicit Parameters

This patch re-implements implicit parameters via a class
with a functional dependency:

    class IP (n::Symbol) a | n -> a where
      ip :: a

This definition is in the library module GHC.IP. Notice
how it use a type-literal, so we can have constraints like
   IP "x" Int
Now all the functional dependency machinery works right to make
implicit parameters behave as they should.

Much special-case processing for implicit parameters can be removed
entirely. One particularly nice thing is not having a dedicated
"original-name cache" for implicit parameters (the nsNames field of
NameCache).  But many other cases disappear:

  * BasicTypes.IPName
  * IPTyCon constructor in Tycon.TyCon
  * CIPCan constructor  in TcRnTypes.Ct
  * IPPred constructor  in Types.PredTree

Implicit parameters remain special in a few ways:

 * Special syntax.  Eg the constraint (IP "x" Int) is parsed
   and printed as (?x::Int).  And we still have local bindings
   for implicit parameters, and occurrences thereof.

 * A implicit-parameter binding  (let ?x = True in e) amounts
   to a local instance declaration, which we have not had before.
   It just generates an implication contraint (easy), but when
   going under it we must purge any existing bindings for
   ?x in the inert set.  See Note [Shadowing of Implicit Parameters]
   in TcSimplify

 * TcMType.sizePred classifies implicit parameter constraints as size-0,
   as before the change

There are accompanying patches to libraries 'base' and 'haddock'

All the work was done by Iavor Diatchki

7 years agoRemove more unused Platform arguments
Ian Lynagh [Wed, 13 Jun 2012 15:44:55 +0000 (16:44 +0100)] 
Remove more unused Platform arguments

7 years agoRemove some unnecessary platform arguments
Ian Lynagh [Wed, 13 Jun 2012 15:38:27 +0000 (16:38 +0100)] 
Remove some unnecessary platform arguments

7 years agoAdd missing file
Ian Lynagh [Wed, 13 Jun 2012 12:47:25 +0000 (13:47 +0100)] 
Add missing file

7 years agoFollow spelling fixes
Ian Lynagh [Wed, 13 Jun 2012 12:16:06 +0000 (13:16 +0100)] 
Follow spelling fixes

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Wed, 13 Jun 2012 12:14:41 +0000 (13:14 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

Fix conflicts in:
compiler/main/DynFlags.hs

7 years agoRemove lots of commented out 'in' keywords
Ian Lynagh [Wed, 13 Jun 2012 12:06:03 +0000 (13:06 +0100)] 
Remove lots of commented out 'in' keywords

7 years agoTweak the way UsageErrors are constructed
Ian Lynagh [Wed, 13 Jun 2012 11:59:06 +0000 (12:59 +0100)] 
Tweak the way UsageErrors are constructed

Using 'unlines' meant that we get a trailing newline, which gave
different output.

7 years agoRemove PlatformOutputable
Ian Lynagh [Wed, 13 Jun 2012 11:13:00 +0000 (12:13 +0100)] 
Remove PlatformOutputable

We can now get the Platform from the DynFlags inside an SDoc, so we
no longer need to pass the Platform in.

7 years agoWhitespace only in nativeGen/RegAlloc/Graph/Main.hs
Ian Lynagh [Tue, 12 Jun 2012 23:45:33 +0000 (00:45 +0100)] 
Whitespace only in nativeGen/RegAlloc/Graph/Main.hs

7 years agoMake tracingDynFlags slightly more defined
Ian Lynagh [Tue, 12 Jun 2012 22:29:53 +0000 (23:29 +0100)] 
Make tracingDynFlags slightly more defined

In particular, fields like 'flags' are now set to the default,
so at least they will work to some extent.

7 years agoPass DynFlags down to pprDefiniteTrace
Ian Lynagh [Tue, 12 Jun 2012 22:23:03 +0000 (23:23 +0100)] 
Pass DynFlags down to pprDefiniteTrace

7 years agoAdd DynFlags to the SDoc state
Ian Lynagh [Tue, 12 Jun 2012 22:15:11 +0000 (23:15 +0100)] 
Add DynFlags to the SDoc state

7 years agoUse SDoc rather than Doc in the native gens
Ian Lynagh [Tue, 12 Jun 2012 20:55:09 +0000 (21:55 +0100)] 
Use SDoc rather than Doc in the native gens

This avoid lots of converting back and forth between the two types.

7 years agoUse SDoc rather than Doc in LLVM
Ian Lynagh [Tue, 12 Jun 2012 20:27:55 +0000 (21:27 +0100)] 
Use SDoc rather than Doc in LLVM

In particular, this makes life simpler when we want to use a general
GHC SDoc in the middle of some LLVM.

7 years agoPass DynFlags down to pprDebugAndThen
Ian Lynagh [Tue, 12 Jun 2012 18:44:02 +0000 (19:44 +0100)] 
Pass DynFlags down to pprDebugAndThen

7 years agoRemove unused showsPrecSDoc
Ian Lynagh [Tue, 12 Jun 2012 18:29:08 +0000 (19:29 +0100)] 
Remove unused showsPrecSDoc

7 years agoPass DynFlags down to showSDocDumpOneLine
Ian Lynagh [Tue, 12 Jun 2012 18:27:37 +0000 (19:27 +0100)] 
Pass DynFlags down to showSDocDumpOneLine

7 years agoPass DynFlags down to showSDocDebug
Ian Lynagh [Tue, 12 Jun 2012 18:23:07 +0000 (19:23 +0100)] 
Pass DynFlags down to showSDocDebug

7 years agoPass DynFlags down to showSDoc
Ian Lynagh [Tue, 12 Jun 2012 17:52:05 +0000 (18:52 +0100)] 
Pass DynFlags down to showSDoc

7 years agoRemove unused showRdrName
Ian Lynagh [Tue, 12 Jun 2012 15:01:53 +0000 (16:01 +0100)] 
Remove unused showRdrName

It was equivalent to showPpr anyway.

7 years agoGhcApiError now contains a String, not an SDoc
Ian Lynagh [Tue, 12 Jun 2012 15:00:21 +0000 (16:00 +0100)] 
GhcApiError now contains a String, not an SDoc

7 years agoUse showPpr in a few more places
Ian Lynagh [Tue, 12 Jun 2012 14:51:50 +0000 (15:51 +0100)] 
Use showPpr in a few more places

7 years agoAvoid a needless trip via SDoc when showing a Unique
Ian Lynagh [Tue, 12 Jun 2012 14:48:49 +0000 (15:48 +0100)] 
Avoid a needless trip via SDoc when showing a Unique

7 years agoStore short error message text as a string
Ian Lynagh [Tue, 12 Jun 2012 14:47:40 +0000 (15:47 +0100)] 
Store short error message text as a string

We also store the Doc still, although we don't have to; we could
just convert back again, at the cost of some inefficiency.

But we do need the String, so that we can print it in the Show instance.

7 years agoPass DynFlags down to mk_err_msg
Ian Lynagh [Tue, 12 Jun 2012 14:40:07 +0000 (15:40 +0100)] 
Pass DynFlags down to mk_err_msg

7 years agoRemove an unused Show instance
Ian Lynagh [Tue, 12 Jun 2012 14:03:36 +0000 (15:03 +0100)] 
Remove an unused Show instance

7 years agoDon't needlessly go via SDoc in mkAutoCC
Ian Lynagh [Tue, 12 Jun 2012 12:50:12 +0000 (13:50 +0100)] 
Don't needlessly go via SDoc in mkAutoCC

7 years agoRedefine pprPanicFastInt in terms of panicDoc
Ian Lynagh [Tue, 12 Jun 2012 12:46:06 +0000 (13:46 +0100)] 
Redefine pprPanicFastInt in terms of panicDoc

7 years agotweak documentation of mdo/rec
Ross Paterson [Tue, 12 Jun 2012 12:29:10 +0000 (13:29 +0100)] 
tweak documentation of mdo/rec

7 years agoPass DynFlags down to showPpr
Ian Lynagh [Tue, 12 Jun 2012 11:42:58 +0000 (12:42 +0100)] 
Pass DynFlags down to showPpr

7 years agoRemove the Show Var instance
Ian Lynagh [Tue, 12 Jun 2012 11:22:51 +0000 (12:22 +0100)] 
Remove the Show Var instance

7 years agoProvide a way of 'show'int a Unique without going via SDoc
Ian Lynagh [Tue, 12 Jun 2012 11:05:38 +0000 (12:05 +0100)] 
Provide a way of 'show'int a Unique without going via SDoc

7 years agoReport unusable UNPACK warnings even when -O is off (#3966)
Simon Marlow [Tue, 12 Jun 2012 08:26:40 +0000 (09:26 +0100)] 
Report unusable UNPACK warnings even when -O is off (#3966)

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Tue, 12 Jun 2012 07:42:49 +0000 (08:42 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoRevive 'mdo' expressions, per discussion in Trac #4148
Simon Peyton Jones [Tue, 12 Jun 2012 07:42:36 +0000 (08:42 +0100)] 
Revive 'mdo' expressions, per discussion in Trac #4148

Summary:
  - mdo expressions are enabled by RecursiveDo pragma

  - mdo expressions perform full segmentation

  - 'rec' groups inside 'do' are changed so they do *not*
    perform any segmentation.

  - Both 'mdo' and 'rec' are enabled by 'RecursiveDo'
    'DoRec' is deprecated in favour of 'RecursiveDo'
    (The 'rec' keyword is also enabled by 'Arrows', as now.)

Thanks to Levent for doing all the work

7 years agoRemove some redundant Show instances
Ian Lynagh [Tue, 12 Jun 2012 01:03:14 +0000 (02:03 +0100)] 
Remove some redundant Show instances

7 years agoBuild fixes
Ian Lynagh [Tue, 12 Jun 2012 00:14:29 +0000 (01:14 +0100)] 
Build fixes

7 years agoPass DynFlags down to showSDocDump
Ian Lynagh [Mon, 11 Jun 2012 23:46:49 +0000 (00:46 +0100)] 
Pass DynFlags down to showSDocDump

To help with this, we now also pass DynFlags around inside the SpecM
monad.

7 years agoFix whitespace in specialise/Specialise.lhs
Ian Lynagh [Mon, 11 Jun 2012 22:54:24 +0000 (23:54 +0100)] 
Fix whitespace in specialise/Specialise.lhs

7 years agoPass DynFlags down to showSDocUnqual
Ian Lynagh [Mon, 11 Jun 2012 22:36:43 +0000 (23:36 +0100)] 
Pass DynFlags down to showSDocUnqual

7 years agoPass DynFlags down to showSDocForUser
Ian Lynagh [Mon, 11 Jun 2012 22:35:46 +0000 (23:35 +0100)] 
Pass DynFlags down to showSDocForUser

7 years agoPass DynFlags down to showSDocOneLine
Ian Lynagh [Mon, 11 Jun 2012 22:35:21 +0000 (23:35 +0100)] 
Pass DynFlags down to showSDocOneLine

7 years agoPass DynFlags to renderWithStyle
Ian Lynagh [Mon, 11 Jun 2012 21:54:17 +0000 (22:54 +0100)] 
Pass DynFlags to renderWithStyle

7 years agoMake it possible to show SrcSpans without going via Doc
Ian Lynagh [Mon, 11 Jun 2012 21:46:52 +0000 (22:46 +0100)] 
Make it possible to show SrcSpans without going via Doc

This shouldn't be any slower; the FilePaths were already going via
String so that we could normalise them.

This means that very early on, when printing flag parsing errors, we
can do so without having a DynFlags yet.

7 years agoFix whitespace in basicTypes/SrcLoc.lhs
Ian Lynagh [Mon, 11 Jun 2012 20:56:09 +0000 (21:56 +0100)] 
Fix whitespace in basicTypes/SrcLoc.lhs

7 years agoPass DynFlags down to printForC and printForAsm
Ian Lynagh [Mon, 11 Jun 2012 20:47:07 +0000 (21:47 +0100)] 
Pass DynFlags down to printForC and printForAsm

7 years agoPass DynFlags down to printForUserPartWay
Ian Lynagh [Mon, 11 Jun 2012 20:40:06 +0000 (21:40 +0100)] 
Pass DynFlags down to printForUserPartWay

7 years agoPass DynFlags down to printForUser
Ian Lynagh [Mon, 11 Jun 2012 20:39:23 +0000 (21:39 +0100)] 
Pass DynFlags down to printForUser

7 years agoPass DynFlags down to hPrintDump
Ian Lynagh [Mon, 11 Jun 2012 20:35:41 +0000 (21:35 +0100)] 
Pass DynFlags down to hPrintDump

7 years agoPass DynFlags around a bit more
Ian Lynagh [Mon, 11 Jun 2012 20:09:50 +0000 (21:09 +0100)] 
Pass DynFlags around a bit more

7 years agoPass DynFlags to the LogAction
Ian Lynagh [Mon, 11 Jun 2012 19:58:33 +0000 (20:58 +0100)] 
Pass DynFlags to the LogAction

A side-effect is that we can no longer use the LogAction in
defaultErrorHandler, as we don't have DynFlags at that point.
But all that defaultErrorHandler did is to print Strings as
SevFatal, so now it takes a 'FatalMessager' instead.

7 years agoPass DynFlags to prettyPrintGhcErrors
Ian Lynagh [Mon, 11 Jun 2012 16:43:46 +0000 (17:43 +0100)] 
Pass DynFlags to prettyPrintGhcErrors

We don't use it yet

7 years agoMake Ppr* versions of the Sorry and PgmError exceptions too
Ian Lynagh [Mon, 11 Jun 2012 16:41:20 +0000 (17:41 +0100)] 
Make Ppr* versions of the Sorry and PgmError exceptions too

7 years agoChange how pprPanic works
Ian Lynagh [Mon, 11 Jun 2012 16:25:08 +0000 (17:25 +0100)] 
Change how pprPanic works

We now include the String and the SDoc in the exception, and don't
flatten them into a String until near the top-level

7 years agofix spelling: "infered" -> "inferred"
Simon Marlow [Fri, 8 Jun 2012 08:12:49 +0000 (09:12 +0100)] 
fix spelling: "infered" -> "inferred"

7 years agoAttempt to fix the bytecode generator for unboxed tuples, given the latest changes...
Max Bolingbroke [Sat, 9 Jun 2012 17:15:01 +0000 (18:15 +0100)] 
Attempt to fix the bytecode generator for unboxed tuples, given the latest changes to unboxed tuple support

7 years agoDon't use 64-bit support functions on MIPS N32.
Michał Masłowski [Sun, 27 May 2012 13:35:03 +0000 (15:35 +0200)] 
Don't use 64-bit support functions on MIPS N32.

It uses native 64-bit instructions instead of these, despite having
32-bit pointers.

7 years agoAdd some more Integer rules
Ian Lynagh [Fri, 8 Jun 2012 19:38:42 +0000 (20:38 +0100)] 
Add some more Integer rules

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Dimitrios.Vytiniotis [Fri, 8 Jun 2012 15:07:57 +0000 (16:07 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoSignificant refactoring of TcSimplify, in particular simplifyInfer and
Dimitrios.Vytiniotis [Fri, 8 Jun 2012 15:07:00 +0000 (16:07 +0100)] 
Significant refactoring of TcSimplify, in particular simplifyInfer and
simplifyTop, code beautification etc. Important things:

(a) New top-level defaulting plan, gotten rid of the SimplContext field.
    See Note [Top-level Defaulting Plan]

(b) Serious bug fix in the floatEqualities mechanism
    See Note [Extra TcS Untouchables],[Float Equalities out of Implications]

The changes are mostly confined in TcSimplify but there is a
simplification wave affecting other modules as well.

7 years agoEmitting Derived constraints for Given dictionary interactions
Dimitrios.Vytiniotis [Fri, 8 Jun 2012 15:02:26 +0000 (16:02 +0100)] 
Emitting Derived constraints for Given dictionary interactions
with functional dependencies, and interactions with the top-level,
as well as minor refactoring.

7 years agoRemoving stale and commented out code.
Dimitrios.Vytiniotis [Fri, 8 Jun 2012 14:58:04 +0000 (15:58 +0100)] 
Removing stale and commented out code.

7 years agoDeprecate old -package-conf flags.
Paolo Capriotti [Fri, 8 Jun 2012 14:38:27 +0000 (15:38 +0100)] 
Deprecate old -package-conf flags.

7 years agoMerge remote-tracking branch 'origin/pretty-build'
Paolo Capriotti [Fri, 8 Jun 2012 13:24:19 +0000 (14:24 +0100)] 
Merge remote-tracking branch 'origin/pretty-build'

7 years agoTypo in comment
Simon Peyton Jones [Fri, 8 Jun 2012 08:52:04 +0000 (09:52 +0100)] 
Typo in comment

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Fri, 8 Jun 2012 08:47:07 +0000 (09:47 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoAllow equalities in a derived instance context
Simon Peyton Jones [Fri, 8 Jun 2012 08:44:23 +0000 (09:44 +0100)] 
Allow equalities in a derived instance context

Fixes Trac #6147

7 years agoMake the ambiguity check more conservative so that it does not reject valid programs
Simon Peyton Jones [Fri, 8 Jun 2012 08:43:12 +0000 (09:43 +0100)] 
Make the ambiguity check more conservative so that it does not reject valid programs

See Note [The ambiguity check for type signatures] in TcMType,
and Trac #6134, which this change fixes.

A bit of refactoring as usual.

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Thu, 7 Jun 2012 16:29:57 +0000 (17:29 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoFix for earger blackholing of thunks with no free variables (#6146)
Simon Marlow [Thu, 7 Jun 2012 14:45:32 +0000 (15:45 +0100)] 
Fix for earger blackholing of thunks with no free variables (#6146)

A thunk with no free variables was not getting blackholed when
-feager-blackholing was on, but we were nevertheless pushing the
stg_bh_upd_frame version of the update frame that expects to see a
black hole.

I fixed this twice for good measure:

 - we now call blackHoleOnEntry when pushing the update frame to check
   whether the closure was actually blackholed, and so that we use the
   same predicate in both places

 - we now black hole thunks even if they have no free variables.
   These only occur when optimisation is off, but presumably if you say
   -feager-blackholing then that's what you want to happen.

7 years agothrowTo: unlock the MSG_THROWTO object before returning (#6103)
Simon Marlow [Tue, 5 Jun 2012 08:05:47 +0000 (09:05 +0100)] 
throwTo: unlock the MSG_THROWTO object before returning (#6103)

7 years agoMerge win:/cygdrive/c/m64/reg14
Ian Lynagh [Thu, 7 Jun 2012 14:26:53 +0000 (15:26 +0100)] 
Merge win:/cygdrive/c/m64/reg14

7 years agoAdd a missing closing brace
Ian Lynagh [Thu, 7 Jun 2012 14:26:36 +0000 (15:26 +0100)] 
Add a missing closing brace

7 years agoMerge win:/cygdrive/c/m64/reg14
Ian Lynagh [Thu, 7 Jun 2012 13:48:29 +0000 (14:48 +0100)] 
Merge win:/cygdrive/c/m64/reg14

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Thu, 7 Jun 2012 13:45:15 +0000 (14:45 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoMerge branch 'master' of http://darcs.haskell.org//ghc
Ian Lynagh [Thu, 7 Jun 2012 13:41:23 +0000 (14:41 +0100)] 
Merge branch 'master' of darcs.haskell.org//ghc

7 years agoscheduleYield: avoid doing a GC again if we just did one
Ian Lynagh [Thu, 7 Jun 2012 13:39:04 +0000 (14:39 +0100)] 
scheduleYield: avoid doing a GC again if we just did one

If we are interrupted to do a GC, then we do not immediately do another
one.  This avoids a starvation situation where one Capability keeps
forcing a GC and the other Capabilities make no progress at all.

7 years agoComplain if we use a tuple tycon or data-con that is too big
Simon Peyton Jones [Thu, 7 Jun 2012 13:04:20 +0000 (14:04 +0100)] 
Complain if we use a tuple tycon or data-con that is too big

Previously (Trac #6148) we were only complaining for the
distfix syntax (a,b,c).

7 years agoWibbles to the last merge, to fix the build
Simon Peyton Jones [Thu, 7 Jun 2012 13:02:59 +0000 (14:02 +0100)] 
Wibbles to the last merge, to fix the build

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Thu, 7 Jun 2012 11:10:38 +0000 (12:10 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoImprove assertion
Simon Peyton Jones [Thu, 7 Jun 2012 11:09:35 +0000 (12:09 +0100)] 
Improve assertion

7 years agoSupport polymorphic kind recursion
Simon Peyton Jones [Thu, 7 Jun 2012 11:09:22 +0000 (12:09 +0100)] 
Support polymorphic kind recursion

This is (I hope) the last major patch for kind polymorphism.
The big new feature is polymorphic kind recursion when you
supply a complete kind signature for a type constructor.
(I've documented it in the user manual too.)

This fixes Trac #6137, #6093, #6049.

The patch also makes type/data families less polymorphic by default.
   data family T a
now defaults to T :: * -> *
If you want T :: forall k. k -> *, use
   data family T (a :: k)

This defaulting to * is done whenever there is a
"complete, user-specified kind signature", something that is
carefully defined in the user manual.

Hurrah!

7 years agoFix doc uploading in the nightly builds
Ian Lynagh [Thu, 7 Jun 2012 10:41:59 +0000 (11:41 +0100)] 
Fix doc uploading in the nightly builds

The bindist install directory was wrong.

7 years agoBetter error messages for setContext (#5527).
Paolo Capriotti [Wed, 6 Jun 2012 14:24:21 +0000 (15:24 +0100)] 
Better error messages for setContext (#5527).

Make InteractiveEval.setContext throw a clearer exception when it is
asked to add an IIModule which is not a home module or is not
interpreted.

7 years agoRe-order case branches
Simon Peyton Jones [Thu, 7 Jun 2012 08:50:34 +0000 (09:50 +0100)] 
Re-order case branches

7 years agoMake PolyKinds imply KindSignatures
Simon Peyton Jones [Thu, 7 Jun 2012 08:49:43 +0000 (09:49 +0100)] 
Make PolyKinds imply KindSignatures

7 years agoComments only
Simon Peyton Jones [Thu, 7 Jun 2012 08:48:28 +0000 (09:48 +0100)] 
Comments only

7 years agoDo not promote data families
Simon Peyton Jones [Thu, 7 Jun 2012 08:48:19 +0000 (09:48 +0100)] 
Do not promote data families

7 years agoImprove docs on FlexibleInstances/TypeSynonymInstances
Simon Peyton Jones [Thu, 7 Jun 2012 06:28:27 +0000 (07:28 +0100)] 
Improve docs on FlexibleInstances/TypeSynonymInstances

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Wed, 6 Jun 2012 21:34:25 +0000 (22:34 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoAdd rules for intToInteger and wordToInteger
Ian Lynagh [Wed, 6 Jun 2012 21:33:04 +0000 (22:33 +0100)] 
Add rules for intToInteger and wordToInteger

7 years agoPut the Integer type, rather than the mkIntegerId, inside LitInteger
Ian Lynagh [Wed, 6 Jun 2012 19:16:48 +0000 (20:16 +0100)] 
Put the Integer type, rather than the mkIntegerId, inside LitInteger

This will make it possible to write PrelRules that produce an Integer
result without having Integer arguments.

7 years agoTell built-in rules the Id that the rule has matched
Ian Lynagh [Wed, 6 Jun 2012 18:26:01 +0000 (19:26 +0100)] 
Tell built-in rules the Id that the rule has matched

This will let us get at the types of the Id, which in particular means
that for a rule for
    intToInteger :: Int# -> Integer
we can get the "Integer" type, which we can use to build an Integer
literal.

7 years agoFix whitespace in specialise/Rules.lhs
Ian Lynagh [Wed, 6 Jun 2012 01:28:29 +0000 (02:28 +0100)] 
Fix whitespace in specialise/Rules.lhs

7 years agoFix whitespace in utils/Panic.lhs
Ian Lynagh [Tue, 5 Jun 2012 20:43:27 +0000 (21:43 +0100)] 
Fix whitespace in utils/Panic.lhs

7 years agoMerge remote-tracking branch 'origin/unboxed-tuple-arguments2'
Paolo Capriotti [Tue, 5 Jun 2012 15:47:02 +0000 (16:47 +0100)] 
Merge remote-tracking branch 'origin/unboxed-tuple-arguments2'

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Tue, 5 Jun 2012 14:21:15 +0000 (15:21 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoAdd sensible locations to record-selector bindings
Simon Peyton Jones [Tue, 5 Jun 2012 12:35:07 +0000 (13:35 +0100)] 
Add sensible locations to record-selector bindings