simonpj@microsoft.com [Wed, 16 Aug 2006 10:50:42 +0000 (10:50 +0000)]
Another try at the continuation-swapping stuff
I have spent altogether too long on my attempt to avoid case-of-case
in situations where it is a Bad Thing. All the action is in the
case for mkDupableAlt that handles cases with a single alternative.
I've added rather extensive comments, and it finally seems to be working
more or less right. If you compile (say) GHC/Real.o you'll see quite a
few case-of-cases remain (which didn't happen before), and they mostly look
pretty sensible to me.
simonpj@microsoft.com [Wed, 16 Aug 2006 10:48:31 +0000 (10:48 +0000)]
Don't build unnecessary lets in knownCon
Faced with
case x of y { (a,b) -> rhs }
where x is bound to (c,d), we were generating
let y = (c,d) in rhs
and thenn hoping to get rid of the y binding by CSE or some such. It's
better simply not to build it in the first place, by generating
let y = x in rhs
This patch does the job.
simonpj@microsoft.com [Wed, 16 Aug 2006 10:48:17 +0000 (10:48 +0000)]
Comments only
simonpj@microsoft.com [Wed, 16 Aug 2006 08:58:09 +0000 (08:58 +0000)]
Refactoring, plus record recursive-function *components* as RecArg too
simonpj@microsoft.com [Wed, 16 Aug 2006 08:56:28 +0000 (08:56 +0000)]
Record constructor arg occs correctly (bug-fix)
I was forgetting the non-pattern-matched type args of a constructor.
simonpj@microsoft.com [Wed, 16 Aug 2006 08:56:12 +0000 (08:56 +0000)]
Disable form-checking for rule LHSs
Previously we checked the form of the arguments of a RULE lhs, to
ensure that they were simple applications. There was no good reason
for that, save to prevent you writing LHSs that were unlikely to match.
And Don Stewart found he wanted to do something we didn't allow (a section,
I think). So I have just disabled the check.
simonpj@microsoft.com [Tue, 15 Aug 2006 12:34:02 +0000 (12:34 +0000)]
Allow class and instance decls in hs-boot files
For some reason, in 6.5 the manual said you could put a class decl in
an interface file, but not an instance decl; whereas the implementation
was exactly the othe way round.
This patch makes it possible to put *both* class and instance decls
in an interface file.
I also did a bit of re-factoring; comparing the declarations in the
hs-boot and hs file is now done by converting to IfaceSyn, because we
have good comparison operations for IfaceSyn already implemented.
This fixed a bug that previously let through an inconsistent declaration
of a data type.
The remaining infelicity concerns "abstract" TyCons. They are a bit
of a hack anyway; and Classes are not handled in the same way. Need
to think about this, but I think it's probably ok as it stands.
simonpj@microsoft.com [Tue, 15 Aug 2006 07:59:28 +0000 (07:59 +0000)]
Reject derivable type classes with higher-rank methods
Trac #864 suggested a derivable type class with a higher-rank method.
In principle this is quite do-able, but in practice the mechanism works
by generating source code and then doing type inference. To make this work
with higher-rank types would require impredicative polymorphism. And we
do have that, so it could probably be made to work by generating (source-level)
type annotations. But it's real work, so I'm settling for generating a
decent error message rather than crashing.
simonpj@microsoft.com [Tue, 15 Aug 2006 16:26:05 +0000 (16:26 +0000)]
SpecConstr now specialises on constants and lambdas
Roman inspired me to beef up SpecConstr to deal with
a) constant arguments
b) lambda arguments
This is described in elaborate comments in the file:
Note [Specialising for constant parameters]
Note [Specialising for lambda parameters]
I also took the opportunity to fix the usage analysis done by
SpecConstr, which was only handling the top-level correctly.
Now it does nesting too.
simonpj@microsoft.com [Tue, 15 Aug 2006 16:20:30 +0000 (16:20 +0000)]
Fix two bugs in rule-matching
These two typo-like bugs have been there for a long time!
One concerns the selection of overlapping rules,
which was back to front
The other was name-lining-up bug in the Case case of matching
This patch also arranges to export matchN.
(Not a good name, but still!)
simonpj@microsoft.com [Tue, 15 Aug 2006 16:19:47 +0000 (16:19 +0000)]
Moving list-length code from one place in the file to another
simonpj@microsoft.com [Tue, 15 Aug 2006 16:18:29 +0000 (16:18 +0000)]
Make UniqSM into a proper monad
simonpj@microsoft.com [Tue, 15 Aug 2006 07:02:46 +0000 (07:02 +0000)]
Typo in patch that dealt with duplicating continuations in Simplify
simonpj@microsoft.com [Mon, 14 Aug 2006 16:54:24 +0000 (16:54 +0000)]
Be more conservative about duplicating continuations
Roman found that GHC was duplicating continuations that arose (essentially)
from uses of 'seq', or strict constructors. This fixes the problem;
see the comments mkDupableCont (the Select case with a single alternative).
I'm a little concerned that this may also miss useful case-of-case
tranformations, so I'd like to know if anyone finds that this patch
makes performance worse.
To make it a bit more gung-ho, one could check for all the binders
being dead, before choosing this new, conservative alternative.
simonpj@microsoft.com [Mon, 14 Aug 2006 16:51:27 +0000 (16:51 +0000)]
Inline into tail-called constructor args
Consider
x = case y of { True -> (p,q); ... }
The occurrence analyser was marking p,q as 'Many', because they args
of a constructor in an RhsCtxt. But actually they aren't in a RhsCtxt,
and in this case it's better to inline.
simonpj@microsoft.com [Mon, 14 Aug 2006 16:50:43 +0000 (16:50 +0000)]
Improve exprIsCheap
exprIsCheap is meant to return True iff it's ok to push the expression
inside a lambda. But the previous version would return True of a nested
construtor application like (1:2:3:[]), which isn't right.
This patch re-factors the code somewhat, and fixes the bug.
bringert@cs.chalmers.se [Mon, 14 Aug 2006 11:32:42 +0000 (11:32 +0000)]
Added xhtml and cgi as default libraries.
simonpj@microsoft.com [Mon, 14 Aug 2006 09:56:17 +0000 (09:56 +0000)]
Improve error message in TcHsType
Fixes Trac #863.
Test is tcfail162
sven.panne@aedion.de [Fri, 11 Aug 2006 15:13:53 +0000 (15:13 +0000)]
Warning police: Removed overlapped pattern warnings
simonpj@microsoft.com [Fri, 11 Aug 2006 14:28:42 +0000 (14:28 +0000)]
Complete -fmono-pat-binds patch
When adding the experimental -fmono-pat-binds, I forgot to check
for type signatures of the now-monomorphic patterns. This patch
completes the job.
I documented the design too:
http://haskell.galois.com/cgi-bin/haskell-prime/trac.cgi/wiki/MonomorphicPatternBindings
sven.panne@aedion.de [Fri, 11 Aug 2006 14:05:12 +0000 (14:05 +0000)]
Avoid warning about overlapped pattern for Linux target
simonpj@microsoft.com [Fri, 11 Aug 2006 13:33:17 +0000 (13:33 +0000)]
Improve error message layouts
simonpj@microsoft.com [Fri, 11 Aug 2006 13:33:02 +0000 (13:33 +0000)]
Add type signature
Simon Marlow [Fri, 11 Aug 2006 13:21:35 +0000 (13:21 +0000)]
Improve the "could not find module" error message
In particular, if we're searching for the profiling version of a
module in another package, then suggest that perhaps it might not have
been installed.
Simon Marlow [Fri, 11 Aug 2006 11:34:53 +0000 (11:34 +0000)]
On FreeBSD, use -lthr instead of -pthread for now (see comments)
simonpj@microsoft.com [Fri, 11 Aug 2006 11:04:35 +0000 (11:04 +0000)]
Two more error message indendations
simonpj@microsoft.com [Fri, 11 Aug 2006 11:04:12 +0000 (11:04 +0000)]
Go back to calling type veriables t
simonpj@microsoft.com [Fri, 11 Aug 2006 11:03:47 +0000 (11:03 +0000)]
Indent an error message
simonpj@microsoft.com [Fri, 11 Aug 2006 11:03:01 +0000 (11:03 +0000)]
Improve error message (imported from Prelude at Implicit import declaration)
Simon Marlow [Fri, 11 Aug 2006 10:13:27 +0000 (10:13 +0000)]
don't qualify module name for importedSrcLoc
Simon Marlow [Fri, 11 Aug 2006 10:11:59 +0000 (10:11 +0000)]
use "Defined in" rather than "Imported from" when printing ImportedSrcLoc
sven.panne@aedion.de [Fri, 11 Aug 2006 09:26:09 +0000 (09:26 +0000)]
Now that we have an "html" package, put the Haddock docs somewhere else
sven.panne@aedion.de [Thu, 10 Aug 2006 15:42:25 +0000 (15:42 +0000)]
Nuked hschooks.h in favour of cutils.h, which has the prototypes we need
sven.panne@aedion.de [Thu, 10 Aug 2006 15:36:24 +0000 (15:36 +0000)]
Match format strings and arguments for printf-like functions
sven.panne@aedion.de [Thu, 10 Aug 2006 14:48:37 +0000 (14:48 +0000)]
Warning police: Make prototype for LDV_recordDead_FILL_SLOP_DYNAMIC visible
sven.panne@aedion.de [Thu, 10 Aug 2006 14:47:29 +0000 (14:47 +0000)]
Warning police: Make strlen and friends known
sven.panne@aedion.de [Thu, 10 Aug 2006 14:45:05 +0000 (14:45 +0000)]
Tweak GCC's inlining parameters to get thread_obj inlined
simonpj@microsoft.com [Thu, 10 Aug 2006 14:20:34 +0000 (14:20 +0000)]
Add an IAmDead case to postInlineUnconditionally, and comments
simonpj@microsoft.com [Thu, 10 Aug 2006 14:15:26 +0000 (14:15 +0000)]
Do not repeatedly simplify an argument more than once
A very important invariant of the simplifier is that we do not simplify
an arbitrarily large expression more than once in a single pass. If this
can happen, then we can get exponential behaviour, when the large expression
itself has a large sub-expression which is simplified twice, and so on.
GHC has a long-standing bug which allows this repeated simplification to
happen. It shows up when we have a function like this
f d BIG
where f's unfolding looks like
\x -> case x of (a,b) -> a
Of course this is v common for overloaded functions.
Before this patch we simplified all the args (d and BIG) before
deciding to unfold f. Then we push back the simplified BIG onto the
continuation stack, inline f, so now we have
(case d of (a,b) -> a) BIG
After we reduce the case a bit, we'll simplify BIG a second time. And
that's the problem.
The quick-and-dirty solution is to keep a flag in the ApplyTo continuation
to say whather the arg has already been simplified. An alternative would
be to simplify it when first encountered, but that's a bigger change.
simonpj@microsoft.com [Thu, 10 Aug 2006 14:13:40 +0000 (14:13 +0000)]
Do not call preInlineUnconditionally in simplNonRecX
This looks to me like a long-standing bug. simplNonRecX was calling
preInlineUnconditionally, even though it was given an already-simplified
expression. Exponential behaviour beckons.
simonpj@microsoft.com [Thu, 10 Aug 2006 14:11:45 +0000 (14:11 +0000)]
Make postInlineUnconditaionally more conservative
I'm being more paranoid about repeatedly simplifying things (to avoid
exponential behaviour.) postInlineUnconditionally looks as if it
could repeated simplify the same expression; this patch stops it doing
so.
The extra lines are all comments!
Simon Marlow [Thu, 10 Aug 2006 13:23:07 +0000 (13:23 +0000)]
Control.Exception.unblock wasn't unblocking exceptions
Simon Marlow [Thu, 10 Aug 2006 13:01:54 +0000 (13:01 +0000)]
remove out of date comment
Simon Marlow [Thu, 10 Aug 2006 12:19:30 +0000 (12:19 +0000)]
move html before network, for now
Simon Marlow [Thu, 10 Aug 2006 11:37:19 +0000 (11:37 +0000)]
add html package
simonpj@microsoft.com [Thu, 10 Aug 2006 12:08:28 +0000 (12:08 +0000)]
Egregious bug in tcLHsConResTy
This terrible bug in tcLHsConTy is pretty much guaranteed to show up
on an program involving a GADT with more than one type parameter.
This bug isn't present in the STABLE branch.
Manuel: it is *not* necesary to merge this patch into the FC branch;
just ignore it.
simonpj@microsoft.com [Thu, 10 Aug 2006 12:07:59 +0000 (12:07 +0000)]
Comments about improvements to SpecConstr
Esa Ilari Vuokko [Wed, 9 Aug 2006 16:30:12 +0000 (16:30 +0000)]
Remove HasBounds-instance and implement MArray.getBounds instead
Esa Ilari Vuokko [Wed, 9 Aug 2006 16:13:41 +0000 (16:13 +0000)]
Fix Array imports
Simon Marlow [Wed, 9 Aug 2006 14:48:45 +0000 (14:48 +0000)]
Where we use $(GhcHcOpts), also add $(GhcStage1HcOpts)
This fixes building the compiler with -prof in $(GhcStage1HcOpts)
Simon Marlow [Wed, 9 Aug 2006 14:31:53 +0000 (14:31 +0000)]
fixes to the stage2 build following removal of old FFI syntax
Simon Marlow [Wed, 9 Aug 2006 14:12:25 +0000 (14:12 +0000)]
fix bug in task freeing
Simon Marlow [Wed, 9 Aug 2006 14:10:58 +0000 (14:10 +0000)]
add some more options to stage 2
Simon Marlow [Wed, 9 Aug 2006 10:29:36 +0000 (10:29 +0000)]
remove debugging code accidentally left in
Simon Marlow [Wed, 9 Aug 2006 10:16:55 +0000 (10:16 +0000)]
remember that old FFI syntax has been dropped
Simon Marlow [Wed, 9 Aug 2006 10:16:34 +0000 (10:16 +0000)]
only define GHCI if $(GhcWithInterpreter)=YES, also add -threaded
Ross Paterson [Wed, 9 Aug 2006 12:42:15 +0000 (12:42 +0000)]
move altzone test to base package
Ross Paterson [Wed, 9 Aug 2006 12:40:36 +0000 (12:40 +0000)]
remove unused FPTOOLS_CHECK_HTYPE macro
Simon Marlow [Wed, 9 Aug 2006 09:59:08 +0000 (09:59 +0000)]
Remove the artifical cap on the number of workers
See #805. This was here to catch bugs that resulted in an infinite
number of worker threads being created. However, we can't put a
reasonable bound on the number of worker threads, because legitimate
programs may need to create large numbers of (probably blocked) worker
threads. Furthermore, the OS probably has a bound on the number of
threads that a process can create in any case.
Simon Marlow [Wed, 9 Aug 2006 09:52:01 +0000 (09:52 +0000)]
Remove old FFI syntax
See #815
Simon Marlow [Wed, 9 Aug 2006 09:24:39 +0000 (09:24 +0000)]
make exit() overridable, for use in DLLs
See #753
simonpj@microsoft.com [Tue, 8 Aug 2006 22:49:24 +0000 (22:49 +0000)]
More fixes to pre-matching and pre-subsumption
Actually this patch fixes two errors. one was a trivial typo in
tha last patch (b_ty should be b_tau), which led to an infinite loop
when compiling Data.Generic.Twins.
Fixing that revealed a more serious error in the same function.
I was sloppy about dealing robsutly with name-capture for nested
quantifiers in pre-subsumption and pre-matching; and sure enough
I got bitten. Sigh. I think it is right now.
simonpj@microsoft.com [Tue, 8 Aug 2006 22:48:08 +0000 (22:48 +0000)]
Group exports so that all length functions are together; no semantic change
simonpj@microsoft.com [Tue, 8 Aug 2006 13:59:10 +0000 (13:59 +0000)]
Check that lazy patterns are for lifted types
A lazy pattern match must be for a lifted type. This is illegal:
f x = case g x of
~(# x,y #) -> ...
This commit fixes the problem. Trac #845, test is tcfail159
simonpj@microsoft.com [Tue, 8 Aug 2006 12:35:14 +0000 (12:35 +0000)]
Spelling in a comment
simonpj@microsoft.com [Tue, 8 Aug 2006 12:32:11 +0000 (12:32 +0000)]
Remove srcSpanStartLine/srcSpanEndLine crash
srcSpanStartLine/srcSpanEndLine panic on UnhelpfulLoc. They should not
really be exported by SrcLoc at all, but unfortunately they are used in
Lexer.x, which knows enough to avoid the panic.
However the call in RnEnv didn't know, and the panic was triggered
by Template Haskell spliced code. This patch fixes it by exporting
the predicate RnEnv wanted, namely isOneLineSpan.
Duncan Coutts [Thu, 6 Jul 2006 11:49:02 +0000 (11:49 +0000)]
Replace deprecated AC_TRY_COMPILE macro with the reccomended replcament
See: http://www.gnu.org/software/autoconf/manual/html_node/Obsolete-Macros.html
Duncan Coutts [Thu, 6 Jul 2006 11:47:12 +0000 (11:47 +0000)]
Add ghc and version number in .ident directive in NCG
Just because we can and because every other compiler does,
lets stick in an identifier directive: .ident "GHC x.y.z"
into the assembly output of the NCG.
Duncan Coutts [Thu, 6 Jul 2006 11:43:31 +0000 (11:43 +0000)]
Support the GNU non-exec stack annotation system
On recent GNU ELF systems one can mark an object file as not
requiring an executable stack. If all objects- linked into a
program have this note then the program will not use an executable
stack, which is good for security (and some distros have it as a
QA policy). GHC generated code does not need an executable stack
so add the note to the assembly output of the native code
generator (conditional on a configure test).
Duncan Coutts [Mon, 3 Jul 2006 23:43:56 +0000 (23:43 +0000)]
Complain more loudly if any of the hsc2hs phases fail
previously hsc2hs just exits with a non-zero exit code, now if any of
the compilation, linking or runing phases fail then we get a message
saying so and the failing command is printed.
Simon Marlow [Tue, 8 Aug 2006 10:31:10 +0000 (10:31 +0000)]
Remember to free() memory on exit
Patch mostly from Lennart Augustsson in #803, with additions to
Task.c by me.
simonpj@microsoft.com [Tue, 8 Aug 2006 09:11:08 +0000 (09:11 +0000)]
Fix pre-subsumption and pre-matching
The pre-subsuption and pre-matching functions should NEVER make bogus
bindings of type variables, although they are free to bale out and make
too few bindings.
I hadn't been thiking carefully enough about this, and there were two
separate bugs.
- Firstly, in pre-subsumption we must ignore the 'theta'
part of any overloaded type.
- Second, in pre-matching, we must return the empty subustition
on a mis-match, rather than returning the substitution so far.
This bug showed up when compiling Data.Generics.Schemes.hs, and is
imortalised in test tc206
simonpj@microsoft.com [Tue, 8 Aug 2006 08:02:55 +0000 (08:02 +0000)]
Improve error message
Improve a little-used error message. Given
f :: a -> a
f x y = e
the error says
The equations for f have two arguments
but its type `a -> a' has only one
(Before, it said "its type `a' has only one" which is bogus.
Ian Lynagh [Mon, 10 Jul 2006 21:43:08 +0000 (21:43 +0000)]
Pull out common removal code, and detect does-not-exist correctly
Ian Lynagh [Mon, 10 Jul 2006 20:44:24 +0000 (20:44 +0000)]
Create our own directory in the temporary directory to avoid various races
Ian Lynagh [Sun, 9 Jul 2006 18:38:50 +0000 (18:38 +0000)]
Merge SysTools import declarations
Ian Lynagh [Sun, 9 Jul 2006 14:51:01 +0000 (14:51 +0000)]
Don't freeze the dynamic flags used for filename generation before the pipeline starts
Ian Lynagh [Sat, 8 Jul 2006 15:24:24 +0000 (15:24 +0000)]
#807: Removed double fclose of prof_file
prof_file was being fclose'd in both gen_XML_logfile and hs_exit, leading
to glibc complaining of a double free.
simonpj@microsoft.com [Mon, 7 Aug 2006 11:21:07 +0000 (11:21 +0000)]
Add -fextended-default-rules and -fmono-pat-binds
Add -fextended-deafult-rules (in response to Don Stewart's message below),
and document them.
Also doucument -fmono-pat-binds/-fno-mono-pat-binds, which has been in
GHC a few weeks now.
(The two are in one patch because the diffs were so close together
that Darcs combined them.)
Simon
From: Donald Bruce Stewart [mailto:dons@cse.unsw.edu.au]
Sent: 07 August 2006 10:52
While we're thinking about defaulting, I have a question..
ghci uses an extended defaulting system, to allow things like:
Prelude> reverse []
[]
to work, and to have the right instance of Show found. The manual says:
"..it is tiresome for the user to have to specify the type, so GHCi extends
Haskell's type-defaulting rules (Section 4.3.4 of the Haskell 98 Report
(Revised)) as follows. If the expression yields a set of type constraints
that are all from standard classes (Num, Eq etc.), and at least one is
either a numeric class or the Show, Eq, or Ord class, GHCi will try to use
one of the default types, just as described in the Report. The standard
defaulting rules require that one of the classes is numeric; the difference
here is that defaulting is also triggered at least one is Show, Eq, or Ord."
Currently, there is no way to get at this "extended" defaulting for compiled
modules. However, I have a use case for in fact doing this.
With runtime evaluated Haskell, embedding 'interpreters' (over hs-plugins) is
easy. lambdabot, for example, implements a sandboxed haskell eval system. But
it doesn't have access to the defaulting mechanism of ghci, so we have:
dons:: > reverse []
lambdabot:: Add a type signature
dons:: > reverse [] :: [()]
lambdabot:: []
Which is annoying -- newbies wonder why they have to add these extra
constraints to get a Show instance.
I'm wondering, since the extended defaulting mechanisms are already
implemented, could they be made available to compiled modules as well,
perhaps using a flag, -fextended-defaulting?
Simon Marlow [Mon, 7 Aug 2006 14:31:02 +0000 (14:31 +0000)]
add a comment
simonpj@microsoft.com [Fri, 4 Aug 2006 21:49:42 +0000 (21:49 +0000)]
Do pre-subsumption in the main subsumption check
This patch improves the subsumption check (in TcUnify.tc_sub) so that
it does pre-subsumption first. The key code is in the case with
guard (isSigmaTy actual_ty); note the new call to preSubType.
Shorn of details, the question is this. Should this hold?
forall a. a->a <= Int -> (forall b. Int)
Really, it should; just instantiate 'a' to Int. This is just what
the pre-subsumption phase (which used in function applications),
will do.
I did a bit of refactoring to achieve this.
Fixes Trac #821. Test tc205 tests.
simonpj@microsoft.com [Tue, 1 Aug 2006 21:43:02 +0000 (21:43 +0000)]
Make unification robust to a boxy type variable meeting itself
Previously, the implicit assumption in unification is that a boxy
type variable could never occur on both sides of the unification,
so that we'd never find
bx5 :=: bx5
But the pre-subsumption stuff really means that the same variable
can occur on both sides. Consider
forall a. a->Int <= bx5->Int
Then pre-subumption will find a->bx5; and the full subsumption step
will find bx5:=bx5.
However, I think there is still no possiblity of a full occurs-check
failure; that is,
bx5 :=: Tree bx5
Although I can't quite see how to prove it! So I've added a
DEBUG test in uMetaVar to check for this case.
sven.panne@aedion.de [Fri, 4 Aug 2006 14:21:49 +0000 (14:21 +0000)]
Added cabal-setup
Simon Marlow [Thu, 3 Aug 2006 09:33:37 +0000 (09:33 +0000)]
Don't include the package name in a cost centre's module name
This is mainly to restore the old behaviour, but also we shouldn't
normally need the package name in a cost centre because only the
"main" package normally has cost centres.
shae@ScannedInAvian.com [Thu, 20 Jul 2006 15:29:29 +0000 (15:29 +0000)]
Add a new section "Getting the Source" to both HACKING and README. But what about win32 users?
Simon Marlow [Tue, 1 Aug 2006 13:10:27 +0000 (13:10 +0000)]
savingOldConfig: add Exception.block for extra paranoia
Ian Lynagh [Sat, 29 Jul 2006 19:29:46 +0000 (19:29 +0000)]
Refactor ghc-pkg
This patch fixes a couple of issues with the
Be lazier in user config creation, and don't fail on missing configs.
patch. It puts the createDirectoryIfMissing back in and removes assumptions
that the package.conf file already exists.
Ian Lynagh [Sun, 30 Jul 2006 10:52:56 +0000 (10:52 +0000)]
No functionality changes
Consistently used spaces rather than tabs.
Removed trailing whitespace.
Wrapped comments to fit in a standard terminal.
simonpj@microsoft.com [Mon, 31 Jul 2006 08:09:22 +0000 (08:09 +0000)]
Add notes about unsafeCoerce
Simon Marlow [Fri, 28 Jul 2006 14:08:09 +0000 (14:08 +0000)]
.hi-boot-5 is obsolete; the earliest GHC we support uses .hi-boot-6
Simon Marlow [Fri, 28 Jul 2006 14:06:07 +0000 (14:06 +0000)]
update to match .lhs-boot
Simon Marlow [Fri, 28 Jul 2006 14:04:44 +0000 (14:04 +0000)]
get ReadP from the right place.
simonpj@microsoft.com [Thu, 27 Jul 2006 16:08:32 +0000 (16:08 +0000)]
Improve error message for deriving
simonpj@microsoft.com [Thu, 27 Jul 2006 15:50:09 +0000 (15:50 +0000)]
Lazy patterns are like wild-cards for overlap warnings
MERGE TO STABLE
Fixes Trac #827
Test is should_compiler/ds058
Simon Marlow [Thu, 27 Jul 2006 15:38:02 +0000 (15:38 +0000)]
fix some problems with wired-in packages
Simon Marlow [Thu, 27 Jul 2006 15:06:50 +0000 (15:06 +0000)]
oops, remove old packages when updating
Simon Marlow [Thu, 27 Jul 2006 13:47:55 +0000 (13:47 +0000)]
fix symbols for GHC.PrimopWrappers
Simon Marlow [Thu, 27 Jul 2006 10:21:29 +0000 (10:21 +0000)]
a couple more symbols need package names
simonpj@microsoft.com [Thu, 27 Jul 2006 08:56:05 +0000 (08:56 +0000)]
Add missing import
simonpj@microsoft.com [Thu, 27 Jul 2006 08:04:22 +0000 (08:04 +0000)]
Make -fcontext-stack into a dynamic flag
This allows you to put -fcontext-stack into an options pragma,
as requested by Trac #829
While I was at it, I added OptIntPrefix to the forms allowed
in CmdLineParser.