Ian Lynagh [Sat, 12 Apr 2008 14:45:04 +0000 (14:45 +0000)]
(F)SLIT -> (f)sLit in TcRnTypes
Ian Lynagh [Sat, 12 Apr 2008 14:41:23 +0000 (14:41 +0000)]
(F)SLIT -> (f)sLit in WwLib
Ian Lynagh [Sat, 12 Apr 2008 14:38:51 +0000 (14:38 +0000)]
(F)SLIT -> (f)sLit in CoreSubst
Ian Lynagh [Sat, 12 Apr 2008 14:36:37 +0000 (14:36 +0000)]
(F)SLIT -> (f)sLit in CorePrep
Ian Lynagh [Sat, 12 Apr 2008 14:35:40 +0000 (14:35 +0000)]
(F)SLIT -> (f)sLit in CgCon
Ian Lynagh [Sat, 12 Apr 2008 14:33:53 +0000 (14:33 +0000)]
(F)SLIT -> (f)sLit in HscTypes
Ian Lynagh [Sat, 12 Apr 2008 14:11:22 +0000 (14:11 +0000)]
(F)SLIT -> (f)sLit in FamInstEnv
Ian Lynagh [Sat, 12 Apr 2008 14:10:45 +0000 (14:10 +0000)]
(F)SLIT -> (f)sLit in InstEnv
Ian Lynagh [Sat, 12 Apr 2008 14:07:41 +0000 (14:07 +0000)]
(F)SLIT -> (f)sLit in CgPrimOp
Ian Lynagh [Sat, 12 Apr 2008 14:06:30 +0000 (14:06 +0000)]
(F)SLIT -> (f)sLit in PprC
Ian Lynagh [Sat, 12 Apr 2008 14:02:13 +0000 (14:02 +0000)]
(F)SLIT -> (f)sLit in CgForeignCall
Ian Lynagh [Sat, 12 Apr 2008 14:01:36 +0000 (14:01 +0000)]
(F)SLIT -> (f)sLit in CgClosure
Ian Lynagh [Sat, 12 Apr 2008 13:59:34 +0000 (13:59 +0000)]
(F)SLIT -> (f)sLit in PprCmmZ
Ian Lynagh [Sat, 12 Apr 2008 13:59:02 +0000 (13:59 +0000)]
(F)SLIT -> (f)sLit in ZipCfgCmmRep
Ian Lynagh [Sat, 12 Apr 2008 13:58:20 +0000 (13:58 +0000)]
(F)SLIT -> (f)sLit in CmmLint
Ian Lynagh [Sat, 12 Apr 2008 13:57:28 +0000 (13:57 +0000)]
(F)SLIT -> (f)sLit in CmmCPSGen
Ian Lynagh [Sat, 12 Apr 2008 13:56:20 +0000 (13:56 +0000)]
(F)SLIT -> (f)sLit in CgBindery
Ian Lynagh [Sat, 12 Apr 2008 13:55:29 +0000 (13:55 +0000)]
(F)SLIT -> (f)sLit in CgHeapery
Ian Lynagh [Sat, 12 Apr 2008 13:54:11 +0000 (13:54 +0000)]
(F)SLIT -> (f)sLit in CgTicky
Ian Lynagh [Sat, 12 Apr 2008 13:50:37 +0000 (13:50 +0000)]
(F)SLIT -> (f)sLit in CgCallConv
Ian Lynagh [Sat, 12 Apr 2008 13:39:35 +0000 (13:39 +0000)]
(F)SLIT -> (f)sLit in CgProf
Ian Lynagh [Sat, 12 Apr 2008 13:33:23 +0000 (13:33 +0000)]
(F)SLIT -> (f)sLit in PprCmm
Ian Lynagh [Sat, 12 Apr 2008 13:30:30 +0000 (13:30 +0000)]
(F)SLIT -> (f)sLit in ClosureInfo
Ian Lynagh [Sat, 12 Apr 2008 13:29:24 +0000 (13:29 +0000)]
(F)SLIT -> (f)sLit in StSyn
Ian Lynagh [Sat, 12 Apr 2008 13:25:34 +0000 (13:25 +0000)]
(F)SLIT -> (f)sLit in SMRep
Ian Lynagh [Sat, 12 Apr 2008 13:24:30 +0000 (13:24 +0000)]
(F)SLIT -> (f)sLit in MachOp
Ian Lynagh [Sat, 12 Apr 2008 13:23:05 +0000 (13:23 +0000)]
(F)SLIT -> (f)sLit in CLabel
Ian Lynagh [Sat, 12 Apr 2008 13:21:58 +0000 (13:21 +0000)]
(F)SLIT -> (f)sLit in Packages
Ian Lynagh [Sat, 12 Apr 2008 13:20:44 +0000 (13:20 +0000)]
(F)SLIT -> (f)sLit in Lexer
Ian Lynagh [Sat, 12 Apr 2008 13:18:31 +0000 (13:18 +0000)]
(F)SLIT -> (f)sLit in MkId
Ian Lynagh [Sat, 12 Apr 2008 13:17:07 +0000 (13:17 +0000)]
(F)SLIT -> (f)sLit in Rules
Ian Lynagh [Sat, 12 Apr 2008 13:16:12 +0000 (13:16 +0000)]
(F)SLIT -> (f)sLit in PrelRules
Ian Lynagh [Sat, 12 Apr 2008 13:07:37 +0000 (13:07 +0000)]
(F)SLIT -> (f)sLit in HsSyn
Ian Lynagh [Sat, 12 Apr 2008 12:53:20 +0000 (12:53 +0000)]
(F)SLIT -> (f)sLit in HsUtils
Ian Lynagh [Sat, 12 Apr 2008 12:52:29 +0000 (12:52 +0000)]
(F)SLIT -> (f)sLit in HsExpr
Ian Lynagh [Sat, 12 Apr 2008 12:49:28 +0000 (12:49 +0000)]
(F)SLIT -> (f)sLit in HsDecls
Ian Lynagh [Sat, 12 Apr 2008 12:48:40 +0000 (12:48 +0000)]
(F)SLIT -> (f)sLit in HsImpExp
Ian Lynagh [Sat, 12 Apr 2008 12:47:58 +0000 (12:47 +0000)]
(F)SLIT -> (f)sLit in HsPat
Ian Lynagh [Sat, 12 Apr 2008 12:46:45 +0000 (12:46 +0000)]
(F)SLIT -> (f)sLit in HsTypes
Ian Lynagh [Sat, 12 Apr 2008 12:46:07 +0000 (12:46 +0000)]
(F)SLIT -> (f)sLit in IfaceSyn
Ian Lynagh [Sat, 12 Apr 2008 12:45:07 +0000 (12:45 +0000)]
(F)SLIT -> (f)sLit in IfaceType
Ian Lynagh [Sat, 12 Apr 2008 12:44:20 +0000 (12:44 +0000)]
(F)SLIT -> (f)sLit in CoreUnfold
Ian Lynagh [Sat, 12 Apr 2008 12:43:39 +0000 (12:43 +0000)]
(F)SLIT -> (f)sLit in CoreLint
Ian Lynagh [Sat, 12 Apr 2008 12:42:18 +0000 (12:42 +0000)]
(F)SLIT -> (f)sLit in CoreUtils
Ian Lynagh [Sat, 12 Apr 2008 12:41:41 +0000 (12:41 +0000)]
(F)SLIT -> (f)sLit in PprCore
Ian Lynagh [Sat, 12 Apr 2008 12:39:52 +0000 (12:39 +0000)]
(F)SLIT -> (f)sLit in Id
Ian Lynagh [Sat, 12 Apr 2008 12:37:45 +0000 (12:37 +0000)]
(F)SLIT -> (f)sLit in TcType
Ian Lynagh [Sat, 12 Apr 2008 12:36:37 +0000 (12:36 +0000)]
(F)SLIT -> (f)sLit in IdInfo
Ian Lynagh [Sat, 12 Apr 2008 12:35:07 +0000 (12:35 +0000)]
(F)SLIT -> (f)sLit in CoreSyn
Ian Lynagh [Sat, 12 Apr 2008 12:34:02 +0000 (12:34 +0000)]
(F)SLIT -> (f)sLit in CostCentre
Ian Lynagh [Sat, 12 Apr 2008 12:33:22 +0000 (12:33 +0000)]
(F)SLIT -> (f)sLit in Literal
Ian Lynagh [Sat, 12 Apr 2008 12:32:47 +0000 (12:32 +0000)]
Generate fsLit not FSLIT in genprimopcode
Ian Lynagh [Sat, 12 Apr 2008 12:29:46 +0000 (12:29 +0000)]
(F)SLIT -> (f)sLit in TysWiredIn
Ian Lynagh [Sat, 12 Apr 2008 12:28:46 +0000 (12:28 +0000)]
(F)SLIT -> (f)sLit in TysPrim
Ian Lynagh [Sat, 12 Apr 2008 12:27:57 +0000 (12:27 +0000)]
(F)SLIT -> (f)sLit in ForeignCall
Ian Lynagh [Sat, 12 Apr 2008 12:27:09 +0000 (12:27 +0000)]
(F)SLIT -> (f)sLit in DataCon
Ian Lynagh [Sat, 12 Apr 2008 12:26:27 +0000 (12:26 +0000)]
(F)SLIT -> (f)sLit in Coercion
Ian Lynagh [Sat, 12 Apr 2008 12:25:24 +0000 (12:25 +0000)]
(F)SLIT -> (f)sLit in Type
Ian Lynagh [Sat, 12 Apr 2008 12:24:09 +0000 (12:24 +0000)]
(F)SLIT -> (f)sLit in TypeRep
Ian Lynagh [Sat, 12 Apr 2008 12:14:37 +0000 (12:14 +0000)]
(F)SLIT -> (f)sLit in VarEnv
Ian Lynagh [Sat, 12 Apr 2008 12:12:45 +0000 (12:12 +0000)]
(F)SLIT -> (f)sLit in Class
Ian Lynagh [Sat, 12 Apr 2008 12:12:11 +0000 (12:12 +0000)]
(F)SLIT -> (f)sLit in Class
Ian Lynagh [Sat, 12 Apr 2008 12:11:40 +0000 (12:11 +0000)]
(F)SLIT -> (f)sLit in Var
Ian Lynagh [Sat, 12 Apr 2008 12:10:50 +0000 (12:10 +0000)]
(F)SLIT -> (f)sLit in Name
Ian Lynagh [Sat, 12 Apr 2008 12:10:08 +0000 (12:10 +0000)]
(F)SLIT -> (f)sLit in OccName
Ian Lynagh [Sat, 12 Apr 2008 12:09:09 +0000 (12:09 +0000)]
(F)SLIT -> (f)sLit in SrcLoc
Ian Lynagh [Sat, 12 Apr 2008 12:08:17 +0000 (12:08 +0000)]
(F)SLIT -> (f)sLit in Module
Ian Lynagh [Sat, 12 Apr 2008 12:07:45 +0000 (12:07 +0000)]
(F)SLIT -> (f)sLit in BasicTypes
Ian Lynagh [Sat, 12 Apr 2008 12:05:38 +0000 (12:05 +0000)]
(F)SLIT -> (f)sLit in Outputable
Ian Lynagh [Sat, 12 Apr 2008 12:00:04 +0000 (12:00 +0000)]
SLIT -> sLit in Prety.lhs
Ian Lynagh [Sat, 12 Apr 2008 11:57:45 +0000 (11:57 +0000)]
Don't use CPP for SLIT/FSLIT
simonpj@microsoft.com [Tue, 22 Apr 2008 12:04:00 +0000 (12:04 +0000)]
Simplify SimplCont, plus some other small changes to the Simplifier
The main change in this patch is this:
* The Stop constructor of SimplCont no longer contains the OutType
of the whole continuation. This is a nice simplification in
lots of places where we build a Stop continuation. For example,
rebuildCall no longer needs to maintain the type of the function.
* Similarly StrictArg no longer needs an OutType
* The consequential complication is that contResultType (not called
much) needs to be given the type of the thing in the middle. No
big deal.
* Lots of other small knock-on effects
Other changes in here
* simplLazyBind does do the type-abstraction thing if there's
a lambda inside. See comments in simplLazyBind
* simplLazyBind reduces simplifier iterations by keeping
unfolding information for stuff for which type abstraction is
done (see add_poly_bind)
All of this came up when implementing System IF, but seems worth applying
to the HEAD
simonpj@microsoft.com [Tue, 22 Apr 2008 12:03:04 +0000 (12:03 +0000)]
Comments only in SimplCore
simonpj@microsoft.com [Tue, 22 Apr 2008 12:01:43 +0000 (12:01 +0000)]
Comments only
simonpj@microsoft.com [Tue, 22 Apr 2008 11:52:38 +0000 (11:52 +0000)]
Minor bug in SpecConstr
In SpecConstr.isValue, we recorded a ConVal for a big-lambda,
which seems wrong. I came across this when implementing System IF.
The code now reads:
isValue env (Lam b e)
| isTyVar b = case isValue env e of
Just _ -> Just LambdaVal -- NB!
Nothing -> Nothing
| otherwise = Just LambdaVal
simonpj@microsoft.com [Tue, 22 Apr 2008 11:52:21 +0000 (11:52 +0000)]
Comments only
simonpj@microsoft.com [Tue, 22 Apr 2008 11:50:03 +0000 (11:50 +0000)]
Fix a long-standing bug in FloatOut
We really should not float anything out of an _inline_me_ Note,
for reasons described in this new comment:
-- Do no floating at all inside INLINE.
-- The SetLevels pass did not clone the bindings, so it's
-- unsafe to do any floating, even if we dump the results
-- inside the Note (which is what we used to do).
I'm about to get rid of these _inline_me_ Notes, but it's
better to fix it anyway. I found this bug when implementing System IF.
simonpj@microsoft.com [Tue, 22 Apr 2008 11:48:48 +0000 (11:48 +0000)]
Remove static flag opt_RuntimeTypes (has not been used in years)
simonpj@microsoft.com [Tue, 22 Apr 2008 11:30:14 +0000 (11:30 +0000)]
Refactor the TyVarTy case of 'match'. No change in behaviour.
simonpj@microsoft.com [Tue, 22 Apr 2008 11:29:25 +0000 (11:29 +0000)]
Add Note [Generating the in-scope set for a substitution]
simonpj@microsoft.com [Tue, 22 Apr 2008 11:28:04 +0000 (11:28 +0000)]
Rename WpCo to WpCast
pepe [Mon, 21 Apr 2008 17:13:22 +0000 (17:13 +0000)]
Fix #2044 (:printing impredicatively typed things)
Switching to boxyUnify should be enough to fix this.
Tim Chevalier [Tue, 22 Apr 2008 04:52:44 +0000 (04:52 +0000)]
Improve External Core syntax for newtypes
I was confused by the newtype eta-contraction trick before.
Newtype declarations are much less redundant now.
Tim Chevalier [Tue, 22 Apr 2008 04:43:42 +0000 (04:43 +0000)]
Update External Core docs
Update documentation to reflect GHC HEAD.
Tim Chevalier [Tue, 22 Apr 2008 01:56:22 +0000 (01:56 +0000)]
External Core typechecker - improve handling of coercions
Reorganized coercion-related code in the typechecker (this was
brought about by typechecking the Core versions of the optimized GHC
libraries.) A few miscellaneous changes (fixed a bug in Prep involving
eta-expanding partial applications that had additional type
arguments.)
Tim Chevalier [Tue, 22 Apr 2008 01:27:34 +0000 (01:27 +0000)]
Naming changes in External Core
Two changes:
- Top-level bindings in a given module are now printed as a
single %rec group. I found that in External Core generated from
optimized code, nonrec bindings weren't being printed in
dependency order. Rather than fixing that, I decided to not
even pretend to preserve dependency order (since there's
recursion between modules anyway.)
- Internal names are now printed with their uniques attached
(otherwise, GHC was printing out code with shadowed bindings,
and this isn't supposed to happen in External Core.)
simonpj@microsoft.com [Mon, 21 Apr 2008 15:21:30 +0000 (15:21 +0000)]
Add clarifying comments about unsafeCoerce
Ian Lynagh [Sun, 20 Apr 2008 19:58:56 +0000 (19:58 +0000)]
Make the integer library to use more configurable
Now you just set INTEGER_LIBRARY=integer-foo in build.mk
Ian Lynagh [Wed, 16 Apr 2008 16:23:30 +0000 (16:23 +0000)]
Remove some duplicate extern decls
Ian Lynagh [Thu, 17 Apr 2008 17:19:43 +0000 (17:19 +0000)]
Add some more generic (en|de)code(Double|Float) code
Ian Lynagh [Sat, 12 Apr 2008 10:06:57 +0000 (10:06 +0000)]
Updates to handle Ordering moving from base to ghc-prim
Ian Lynagh [Tue, 8 Apr 2008 19:34:36 +0000 (19:34 +0000)]
Fix lndir
It would copy when it should symlink, and vice-versa.
Tim Chevalier [Wed, 16 Apr 2008 00:03:47 +0000 (00:03 +0000)]
Improve External Core syntax
Got rid of the silly '^' characters before qualified names (plus:
reverts to the original syntax; minus: makes the parser a little
hairier.)
Also, added warning in the typechecker for coercion kind mismatches
rather than considering that a type error. (see the added comment in
Check.hs for details.)
Simon Marlow [Mon, 14 Apr 2008 17:32:25 +0000 (17:32 +0000)]
FIX BUILD (Windows): Copy the ln trick used by the GMP build
simonpj@microsoft.com [Fri, 11 Apr 2008 16:21:37 +0000 (16:21 +0000)]
Revive the static argument transformation
This patch revives the Static Argument Transformation, thanks to
Max Bolingbroke. It is enabled with
-fstatic-argument-transformation
or -O2
Headline nofib results
Size Allocs Runtime
Min +0.0% -13.7% -21.4%
Max +0.1% +0.0% +5.4%
Geometric Mean +0.0% -0.2% -6.9%
simonpj@microsoft.com [Fri, 11 Apr 2008 14:24:18 +0000 (14:24 +0000)]
Transfer strictness and arity info when abstracting over type variables
See Note [transferPolyIdInfo] in Id.lhs, and test
eyeball/demand-on-polymorphic-floatouts.hs
Max Bolingbroke discovered that we were gratuitiously losing strictness
info. This simple patch fixes it. But see the above note for things
that are still discarded: worker info and rules.
Tim Chevalier [Mon, 14 Apr 2008 02:46:48 +0000 (02:46 +0000)]
Revive External Core typechecker
The typechecker works again! Yay!
Details upon request.
Tim Chevalier [Mon, 14 Apr 2008 03:16:54 +0000 (03:16 +0000)]
Eta-expand newtype coercions in External Core
Typechecking External Core is easier if we eta-expand axioms
in newtype declarations. For a fuller explanation, see:
http://www.haskell.org/pipermail/cvs-ghc/2008-April/041948.html
Tim Chevalier [Mon, 14 Apr 2008 02:54:07 +0000 (02:54 +0000)]
Extra info in genprimopcode --make-ext-core-source
The ext-core typechecker needs to know what types are
valid for various kinds of literals, so I changed
genprimopcode to dump out that information as well
with --make-ext-core-source.
andy@galois.com [Fri, 11 Apr 2008 22:05:10 +0000 (22:05 +0000)]
Fixing HPCTIXDIR problem with mkdir usage on Windows