| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
| |
A type let shouldn't really occur in SetLevels, but if it does,
this patch makes sure it is left alone.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
MonadUnique
|
|
|
|
|
|
|
|
| |
I've gotten this wrong more than once. Hopefully this has it nailed.
The issue is that in float-out we must abstract over the correct
variables.
|
|
|
|
|
|
|
|
|
|
| |
coercion
I can't remember where this bug showed up, but we were abstracting over a
coercion variable (co :: a ~ T), without also abstracting over 'a'.
The fix is simple.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The float-out transformation must handle the case where a coercion
variable is free, which in turn mentions type variables in its kind.
Just like a term variable really.
I did a bit of refactoring at the same time.
Test is tc241
MERGE to stable branch
|
| |
|
| |
|
|
|
|
|
|
|
| |
Older GHCs can't parse OPTIONS_GHC.
This also changes the URL referenced for the -w options from
WorkingConventions#Warnings to CodingStyle#Warnings for the compiler
modules.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch simplifies the code slightly, and simultaneously improves
full laziness by floating allocations (lambdas, constructor apps) out
of loops.
See Note [Escaping a value lambda] in SetLevels, which explains.
There's a test that shows it up: simplrun009
This relevant to SpecConstr, because a call looks like
f lvl
instead of
f (\x. blah)
and the latter is easier to match in a robust way.
|
|
|
|
| |
strict)
|
|
|
|
|
|
|
|
|
|
|
| |
Now that coercion variables mention types, a type-lambda binder can
have free variables. This patch adjusts the free-variable finder
to take account of this, by treating Ids and TyVars more uniformly.
In addition, I fixed a bug in the specialiser that was missing a
free type variable in a binder. And a bug in tyVarsOfInst that
was missing the type variables in the kinds of the quantified tyvars.
|
|
|
|
|
|
|
|
|
|
|
| |
Fri Aug 4 18:13:20 EDT 2006 Manuel M T Chakravarty <chak@cse.unsw.edu.au>
* Massive patch for the first months work adding System FC to GHC #30
Broken up massive patch -=chak
Original log message:
This is (sadly) all done in one patch to avoid Darcs bugs.
It's not complete work... more FC stuff to come. A compiler
using just this patch will fail dismally.
|
|
Most of the other users of the fptools build system have migrated to
Cabal, and with the move to darcs we can now flatten the source tree
without losing history, so here goes.
The main change is that the ghc/ subdir is gone, and most of what it
contained is now at the top level. The build system now makes no
pretense at being multi-project, it is just the GHC build system.
No doubt this will break many things, and there will be a period of
instability while we fix the dependencies. A straightforward build
should work, but I haven't yet fixed binary/source distributions.
Changes to the Building Guide will follow, too.
|