Ian Lynagh [Sat, 4 Oct 2008 17:53:51 +0000 (17:53 +0000)]
prep-bin-dist-mingw complains if it finds a bad version of windres
'Jose Pedro Magalhaes [Thu, 2 Oct 2008 08:28:08 +0000 (08:28 +0000)]
removed Data.Generics.Basics, added Data.Data
Ian Lynagh [Fri, 3 Oct 2008 19:57:00 +0000 (19:57 +0000)]
Fix a build problem with GHC 6.4.2
Clemens Fruhwirth [Fri, 3 Oct 2008 18:53:04 +0000 (18:53 +0000)]
No AutoLinkPackages for dynamic library linking
Clemens Fruhwirth [Wed, 1 Oct 2008 12:56:48 +0000 (12:56 +0000)]
use ghcError for error in command line
simonpj@microsoft.com [Fri, 3 Oct 2008 17:12:07 +0000 (17:12 +0000)]
Fix warnings
Ian Lynagh [Fri, 3 Oct 2008 16:12:47 +0000 (16:12 +0000)]
Always use extensible exceptions in ghc-pkg, rather than using ifdefs
Ian Lynagh [Fri, 3 Oct 2008 16:01:29 +0000 (16:01 +0000)]
Use a proper exception for IOEnvFailure, not just a UserError
Ian Lynagh [Fri, 3 Oct 2008 14:02:16 +0000 (14:02 +0000)]
Use an extensible-exceptions package when bootstrapping
Ifdefs for whether we had extensible exceptions or not were spreading
through GHC's source, and things would only have got worse for the next
2-3 years, so instead we now use an implementation of extensible
exceptions built on top of the old exception type.
simonpj@microsoft.com [Fri, 3 Oct 2008 14:04:23 +0000 (14:04 +0000)]
Expunge ThFake, cure Trac #2632
This patch fixes a dirty hack (the fake ThFake module), which in turn
was causing Trac #2632.
The new scheme is that the top-level binders in a TH [d| ... |] decl splice
get Internal names. That breaks a previous invariant that things like
TyCons always have External names, but these TyCons are never long-lived;
they live only long enough to typecheck the TH quotation; the result is
discarded. So it seems cool.
Nevertheless -- Template Haskell folk: please test your code. The testsuite
is OK but it's conceivable that I've broken something in TH. Let's see.
simonpj@microsoft.com [Fri, 3 Oct 2008 14:01:44 +0000 (14:01 +0000)]
Make a debug check more refined
simonpj@microsoft.com [Fri, 3 Oct 2008 13:53:34 +0000 (13:53 +0000)]
Add ASSERTs to all calls of nameModule
nameModule fails on an InternalName. These ASSERTS tell you
which call failed.
Thomas Schilling [Thu, 2 Oct 2008 23:04:12 +0000 (23:04 +0000)]
Let parseModule take a ModSummary like checkAndLoadModule did.
To get the ModSummary for a ModuleName getModSummary can be used.
It's not called find* or lookup* because it assumes that the module is
in the module graph and throws an exception if it cannot be found.
Overall, I'm not quite sure about the usefulness of this function
since the user has no control about which filetype to grab (hs or
hs-boot).
Ian Lynagh [Thu, 2 Oct 2008 20:15:19 +0000 (20:15 +0000)]
Remove some out-of-date entries from .darcs-boring
Manuel M T Chakravarty [Thu, 2 Oct 2008 13:45:39 +0000 (13:45 +0000)]
TFs: Allow repeated variables in left-hand sides of instances
MERGE TO 6.10
Manuel M T Chakravarty [Thu, 2 Oct 2008 07:46:42 +0000 (07:46 +0000)]
Clean up some comments
MERGE TO 6.10
simonpj@microsoft.com [Thu, 2 Oct 2008 13:30:02 +0000 (13:30 +0000)]
Make the new binder-swap stuff in OccurAnal work right for GlobalIds
See Note [Binder swap on GlobalId scrutinees]. I hadn't got this
right before, so repeated cases on imported Ids weren't getting optimised.
simonpj@microsoft.com [Thu, 2 Oct 2008 13:29:29 +0000 (13:29 +0000)]
Minor refactoring only
simonpj@microsoft.com [Thu, 2 Oct 2008 13:28:33 +0000 (13:28 +0000)]
Comments only
simonpj@microsoft.com [Thu, 2 Oct 2008 13:26:57 +0000 (13:26 +0000)]
Zap dead-ness info appropriately in SpecConstr
SpecConstr can make pattern binders come alive, so we must remember
to zap their dead-variable annotation. See extendCaseBndrs.
(This was triggering a Core Lint failure in DPH.)
simonpj@microsoft.com [Thu, 2 Oct 2008 13:24:26 +0000 (13:24 +0000)]
Suppress invalid Core Lint complaint about lack of constructors
Simon Marlow [Wed, 1 Oct 2008 16:44:27 +0000 (16:44 +0000)]
add some more GC roots (fixes conc048, and possibly some others)
Simon Marlow [Wed, 1 Oct 2008 16:32:22 +0000 (16:32 +0000)]
Document +RTS -hT
We forgot to document this in GHC 6.8
Simon Marlow [Wed, 1 Oct 2008 16:31:05 +0000 (16:31 +0000)]
fix new-qualified-operators link
Manuel M T Chakravarty [Wed, 1 Oct 2008 14:43:39 +0000 (14:43 +0000)]
Proper error message for unsupported pattern signatures
- Pattern signatures must be identical to the type expected for the pattern;
see Note [Pattern coercions]
- We now signal an appropriate error if an equality coercion would be needed
(instead of just generating Core that doesn't typecheck)
MERGE TO 6.10
Roman Leshchinskiy [Thu, 2 Oct 2008 01:20:55 +0000 (01:20 +0000)]
Prevent excessive inlining with DPH
This adds a new flag -finline-if-enough-args which disables inlining for
partially applied functions. It is automatically set by -Odph. This is a
temporary hack and should remain undocumented.
MERGE TO 6.10
Ian Lynagh [Wed, 1 Oct 2008 17:11:33 +0000 (17:11 +0000)]
On Windows, check that we have a good version of windres when configuring
Ian Lynagh [Tue, 30 Sep 2008 15:50:54 +0000 (15:50 +0000)]
Call $(PERL) rather than perl when making the manpage
Ian Lynagh [Tue, 30 Sep 2008 14:57:14 +0000 (14:57 +0000)]
don't install the installPackage program
Simon Marlow [Wed, 1 Oct 2008 13:55:49 +0000 (13:55 +0000)]
Fix #2637: conc032(threaded2) failure
There was a race condition whereby a thread doing throwTo could be
blocked on a thread that had finished, and the GC would detect this
as a deadlock rather than raising the pending exception. We can't
close the race, but we can make the right thing happen when the GC
runs later.
Simon Marlow [Tue, 30 Sep 2008 15:09:12 +0000 (15:09 +0000)]
Remove outdated link to OGI webpage
Manuel M T Chakravarty [Wed, 1 Oct 2008 13:13:03 +0000 (13:13 +0000)]
TFs: Fixed InstContextNorm (and simplification of IPs)
MERGE TO 6.10
Manuel M T Chakravarty [Wed, 1 Oct 2008 09:13:15 +0000 (09:13 +0000)]
TcSimplify.reduceImplication: clean up
- This cleans up some of the mess in reduceImplication and documents the
precondition on the form of wanted equalities properly.
- I also made the back off test a bit smarter by allowing to back off in the
presence of wanted equalities as long as none of them got solved in the
attempt. (That should save generating some superfluous bindings.)
MERGE TO 6.10
Manuel M T Chakravarty [Wed, 1 Oct 2008 05:32:43 +0000 (05:32 +0000)]
Make sure to zonk the kind of coercion variables
MERGE TO 6.10
Simon Marlow [Tue, 30 Sep 2008 14:18:42 +0000 (14:18 +0000)]
Remover PROT_EXEC flag from mmap()
Needed for #738 fix
Simon Marlow [Tue, 30 Sep 2008 14:18:12 +0000 (14:18 +0000)]
Fix #2410: carefully generate unique names for CAF CCs
Simon Marlow [Tue, 30 Sep 2008 11:56:11 +0000 (11:56 +0000)]
fix #2594: we were erroneously applying masks, as the reporter suggested
My guess is that this is left over from when we represented Int8 and
friends as zero-extended rather than sign-extended. It's amazing it hasn't
been noticed earlier.
Clemens Fruhwirth [Tue, 30 Sep 2008 08:54:49 +0000 (08:54 +0000)]
Unconditionalize definition of DYNAMIC_* so that libffi.so/.dll is removed even when BuildSharedLibs is reset to NO
Manuel M T Chakravarty [Tue, 30 Sep 2008 05:35:59 +0000 (05:35 +0000)]
Type families: need to instantiate flexible skolems before other flexibles
MERGE TO 6.10
Manuel M T Chakravarty [Mon, 29 Sep 2008 14:22:27 +0000 (14:22 +0000)]
Fix warnings
Manuel M T Chakravarty [Mon, 29 Sep 2008 14:10:40 +0000 (14:10 +0000)]
Type families: consider subst rules both way
- applySubstFam, applySubstVarVar & applySubstVarFam need to return their
second argument -to be put into the todo list- if the rule would be
applicable if the equalities would be supplied in the opposite order.
MERGE TO 6.10
pepe [Fri, 26 Sep 2008 21:14:29 +0000 (21:14 +0000)]
Clean up a bit and improve an error message
pepe [Fri, 26 Sep 2008 20:48:36 +0000 (20:48 +0000)]
Don't capture error calls in tryUser
A previous patch slightly changed the semantics of tryUser.
This patch restores the original behaviour
(as expected in :print)
Simon Marlow [Sat, 27 Sep 2008 14:18:34 +0000 (14:18 +0000)]
tweaks to this section of the docs
Simon Marlow [Sat, 27 Sep 2008 14:18:22 +0000 (14:18 +0000)]
Add -outputdir flag (#2295)
Simon Marlow [Tue, 23 Sep 2008 14:04:49 +0000 (14:04 +0000)]
oops, forgot to add -XNewQualifiedOperators to the flags table
Ian Lynagh [Sat, 27 Sep 2008 15:05:07 +0000 (15:05 +0000)]
Fix making OS X installers from source tarballs
I'm not sure why it works in the HEAD, but when making an installer
from the 6.10.1 beta configure hangs when doing the CHECK_HIST_ERRORS
test (during rl_initialize, I believe). Giving make /dev/null as stdin
fixes it.
Neil Mitchell [Tue, 16 Sep 2008 16:03:11 +0000 (16:03 +0000)]
Make the matching of the filename ghc.exe case insensitive, fixes bug #2603
Simon Marlow [Fri, 26 Sep 2008 23:28:06 +0000 (23:28 +0000)]
Fix #2411: missing case for CATCH_STM_FRAME in raiseAsync()
Bertram Felgenhauer [Thu, 25 Sep 2008 05:38:20 +0000 (05:38 +0000)]
Fix parsing of -ignore-package flag.
Ian Lynagh [Fri, 26 Sep 2008 20:38:32 +0000 (20:38 +0000)]
Add an example of how to use SCCs to the user guide
Ian Lynagh [Fri, 26 Sep 2008 20:02:03 +0000 (20:02 +0000)]
Add some description of the +RTS -t/-s/-S output
Ian Lynagh [Fri, 26 Sep 2008 15:27:31 +0000 (15:27 +0000)]
Remove a redundant options pragma
Ian Lynagh [Fri, 26 Sep 2008 14:05:39 +0000 (14:05 +0000)]
Split ShowVersion etc off into a different type to DoInteractive etc
This fixes trac #1348 (ghci --help gave ghc's help), and also tidies
things up a bit. Things would be even tidier if the usage.txt files were
put into a .hs file, so that ShowUsage wouldn't need to be able to find
the libdir.
Ian Lynagh [Fri, 26 Sep 2008 13:16:09 +0000 (13:16 +0000)]
Pass SRC_HC_OPTS to GHC when building GHC's Main.hs
Ian Lynagh [Fri, 26 Sep 2008 12:44:25 +0000 (12:44 +0000)]
Improve runghc docs; fixes trac #2477
Manuel M T Chakravarty [Thu, 25 Sep 2008 22:53:24 +0000 (22:53 +0000)]
Type families: fixes in flattening & finalisation
* Finalisation didn't do the right thing for equalities x ~ y, where
x was instantiated, but not zonked and y flexible (need to do y := x)
* During flattening we weren't careful enough when turning wanteds
intermediates into locals
Both bugs showed up in a small example of SPJ:
linear :: HasTrie (Basis v) => (Basis v, v)
linear = basisValue
class HasTrie a where
type family Basis u :: *
basisValue :: (Basis v,v)
basisValue = error "urk"
Ian Lynagh [Thu, 25 Sep 2008 16:56:18 +0000 (16:56 +0000)]
Fix the behaviour of flags like --help and --version; fixes trac #2620
They should override other mode flags, not conflict with them
Ian Lynagh [Thu, 25 Sep 2008 13:38:55 +0000 (13:38 +0000)]
Follow the integer package changes
Manuel M T Chakravarty [Thu, 25 Sep 2008 08:41:39 +0000 (08:41 +0000)]
Type families: fix decomposition problem
* Fixes the problem reported in
<http://www.haskell.org/pipermail/haskell-cafe/2008-July/044911.html>
Judah Jacobson [Wed, 24 Sep 2008 21:24:22 +0000 (21:24 +0000)]
Don't exit ghci if :info is called on an undefined identifier.
Ian Lynagh [Wed, 24 Sep 2008 23:05:53 +0000 (23:05 +0000)]
Fix maintainer-clean
Ian Lynagh [Wed, 24 Sep 2008 12:42:55 +0000 (12:42 +0000)]
Use -f when making the runhaskell symlink
Otherwise installation fails if runhaskell already exists.
Ian Lynagh [Wed, 24 Sep 2008 12:41:37 +0000 (12:41 +0000)]
Use -perm -100 rather than -perm /a+x when looking for executable files
/a+x doesn't work on some Solaris and OS X machines. Spotted by
Christian Maeder.
Ian Lynagh [Wed, 24 Sep 2008 12:33:23 +0000 (12:33 +0000)]
Use $(FIND) rather than find, as the former may be gfind
Ian Lynagh [Wed, 24 Sep 2008 12:30:46 +0000 (12:30 +0000)]
Look for gfind as well as find
Ian Lynagh [Wed, 24 Sep 2008 12:25:58 +0000 (12:25 +0000)]
In configure, don't call FPTOOLS_HADDOCK
We now use the in-tree haddock, so we don't need to look for it.
Ian Lynagh [Wed, 24 Sep 2008 12:17:59 +0000 (12:17 +0000)]
Use $(TAR) rather than tar
Fixes problems on Solaris, where we need to use gtar instead of tar
Ian Lynagh [Wed, 24 Sep 2008 12:09:40 +0000 (12:09 +0000)]
Add $(strip) to a Makefile test
Fixes making bindists on solaris. Patch from Christian Maeder.
Ian Lynagh [Wed, 24 Sep 2008 12:08:40 +0000 (12:08 +0000)]
Use test -f rather than test -e, for portability (Solaris)
Ian Lynagh [Tue, 23 Sep 2008 20:57:55 +0000 (20:57 +0000)]
Remove some dependencies on bootstrapping.conf from libraries/Makefile
They were causing some unnecessary work:
Running make in a built tree reregisters the GHC package in
bootstrapping.conf, and the build system thought that this updated
timestamp meant that the configure stamps were out of date. This is
particularly bad for the libraries with configure scripts, as those
take a while to run.
The bootstrapping.conf is built in an earlier phase ("make boot") so
one shouldn't rely on the dependencies anyway.
Ian Lynagh [Tue, 23 Sep 2008 16:56:13 +0000 (16:56 +0000)]
Bump the version number to 6.11
Thomas Schilling [Sun, 21 Sep 2008 08:56:47 +0000 (08:56 +0000)]
Generalise type of 'defaultErrorHandler' so it can be used inside a Ghc session.
Ian Lynagh [Sun, 21 Sep 2008 11:15:08 +0000 (11:15 +0000)]
Make "sh -e boot" work
Ian Lynagh [Sun, 21 Sep 2008 11:14:36 +0000 (11:14 +0000)]
Use -f rather than -e for portability
Ian Lynagh [Sun, 21 Sep 2008 00:04:06 +0000 (00:04 +0000)]
Add some special cases for putting dph in bindists
Ian Lynagh [Sat, 20 Sep 2008 23:29:45 +0000 (23:29 +0000)]
Escape a hash in the Makefile (it was breaking source dist creation)
Simon Marlow [Tue, 23 Sep 2008 17:39:04 +0000 (17:39 +0000)]
Disallow package flags in OPTIONS_GHC pragmas (#2499)
Simon Marlow [Tue, 23 Sep 2008 14:49:56 +0000 (14:49 +0000)]
#2566: emit a warning for 'ghc -c foo.bar'
$ ghc -c foo.bar
Warning: the following files would be used as linker inputs, but linking is not being done: foo.bar
ghc: no input files
Usage: For basic information, try the `--help' option.
Simon Marlow [Mon, 22 Sep 2008 21:09:15 +0000 (21:09 +0000)]
Fix to new executable allocation code (fixed print002 etc.)
The problem here is caused by the fact that info tables include a
relative offset to the string naming the constructor. Executable
memory now resides at two places in the address space: one for writing
and one for executing. In the info tables generated by GHCi, we were
calculating the offset relative to the writable instance, rather than
the executable instance, which meant that the GHCi debugger couldn't
find the names for constructors it found in the heap.
Simon Marlow [Mon, 22 Sep 2008 15:28:27 +0000 (15:28 +0000)]
clean sm/Evac_thr.c and sm/Scav_thr.c
Simon Marlow [Mon, 22 Sep 2008 15:23:40 +0000 (15:23 +0000)]
add -XNewQualifiedOperators (Haskell' qualified operator syntax)
simonpj@microsoft.com [Sat, 20 Sep 2008 21:20:10 +0000 (21:20 +0000)]
Fix Trac #2597 (first bug): correct type checking for empty list
The GHC front end never generates (ExplicitList []), but TH can.
This patch makes the typechecker robust to such programs.
simonpj@microsoft.com [Sat, 20 Sep 2008 21:11:01 +0000 (21:11 +0000)]
Fix Trac #2597 (second bug): complain about an empty DoE block
When converting an empty do-block from TH syntax to HsSyn,
complain rather than crashing.
Ian Lynagh [Sat, 20 Sep 2008 18:35:34 +0000 (18:35 +0000)]
Update dependencies
Ian Lynagh [Sat, 20 Sep 2008 16:29:18 +0000 (16:29 +0000)]
Fix building with GHC 6.6
Ian Lynagh [Sat, 20 Sep 2008 01:06:35 +0000 (01:06 +0000)]
Remove fno-method-sharing from the list of static flags
It is now a dynamic flag
simonpj@microsoft.com [Sat, 20 Sep 2008 17:52:38 +0000 (17:52 +0000)]
Tidy up the treatment of dead binders
This patch does a lot of tidying up of the way that dead variables are
handled in Core. Just the sort of thing to do on an aeroplane.
* The tricky "binder-swap" optimisation is moved from the Simplifier
to the Occurrence Analyser. See Note [Binder swap] in OccurAnal.
This is really a nice change. It should reduce the number of
simplifier iteratoins (slightly perhaps). And it means that
we can be much less pessimistic about zapping occurrence info
on binders in a case expression.
* For example:
case x of y { (a,b) -> e }
Previously, each time around, even if y,a,b were all dead, the
Simplifier would pessimistically zap their OccInfo, so that we
can't see they are dead any more. As a result virtually no
case expression ended up with dead binders. This wasn't Bad
in itself, but it always felt wrong.
* I added a check to CoreLint to check that a dead binder really
isn't used. That showed up a couple of bugs in CSE. (Only in
this sense -- they didn't really matter.)
* I've changed the PprCore printer to print "_" for a dead variable.
(Use -dppr-debug to see it again.) This reduces clutter quite a
bit, and of course it's much more useful with the above change.
* Another benefit of the binder-swap change is that I could get rid of
the Simplifier hack (working, but hacky) in which the InScopeSet was
used to map a variable to a *different* variable. That allowed me
to remove VarEnv.modifyInScopeSet, and to simplify lookupInScopeSet
so that it doesn't look for a fixpoint. This fixes no bugs, but
is a useful cleanup.
* Roman pointed out that Id.mkWildId is jolly dangerous, because
of its fixed unique. So I've
- localied it to MkCore, where it is private (not exported)
- renamed it to 'mkWildBinder' to stress that you should only
use it at binding sites, unless you really know what you are
doing
- provided a function MkCore.mkWildCase that emodies the most
common use of mkWildId, and use that elsewhere
So things are much better
* A knock-on change is that I found a common pattern of localising
a potentially global Id, and made a function for it: Id.localiseId
Ian Lynagh [Fri, 19 Sep 2008 17:46:51 +0000 (17:46 +0000)]
Gix the ghcii script
The ghc executable name doesn't have a version number on Windows, so
don't put one in the script.
Ian Lynagh [Fri, 19 Sep 2008 15:30:10 +0000 (15:30 +0000)]
Create runhaskell as well as runghc
Simon Marlow [Fri, 19 Sep 2008 13:46:02 +0000 (13:46 +0000)]
On Linux use libffi for allocating executable memory (fixed #738)
Simon Marlow [Fri, 19 Sep 2008 10:26:01 +0000 (10:26 +0000)]
Move the context_switch flag into the Capability
Fixes a long-standing bug that could in some cases cause sub-optimal
scheduling behaviour.
Ian Lynagh [Fri, 19 Sep 2008 13:35:55 +0000 (13:35 +0000)]
Fix building the extralibs tarball
We now need to dig the appropriate lines out of packages, rather than
just catting libraries/extra-packages, in order to find out what the
extralibs are.
Ian Lynagh [Fri, 19 Sep 2008 13:03:32 +0000 (13:03 +0000)]
Install libffi when installing frmo a bindist
Ian Lynagh [Fri, 19 Sep 2008 12:55:28 +0000 (12:55 +0000)]
Fix how we put libffi into bindists
Ian Lynagh [Fri, 19 Sep 2008 11:58:31 +0000 (11:58 +0000)]
Don't require Parser.y in a source dist
Ian Lynagh [Fri, 19 Sep 2008 11:58:16 +0000 (11:58 +0000)]
Add HpcParser.hs to source dists
Ian Lynagh [Fri, 19 Sep 2008 11:25:22 +0000 (11:25 +0000)]
Fix the list of generated files that need to go into the source dists
simonpj@microsoft.com [Fri, 19 Sep 2008 09:31:47 +0000 (09:31 +0000)]
Improve documentation of overlapping instances
Ian Lynagh [Thu, 18 Sep 2008 19:44:24 +0000 (19:44 +0000)]
Put generated files in source dists
We don't want to require that users building source dists have alex/happy