sven.panne@aedion.de [Tue, 19 Sep 2006 08:17:59 +0000 (08:17 +0000)]
Currently we don't build cabal-setup
Simon Marlow [Tue, 19 Sep 2006 01:24:48 +0000 (01:24 +0000)]
Packages cleanup, and allow new packages to be loaded with :set again
This cleans up the package subsystem a little. There are some
changes to the GHC API as a result.
- GHC.init and GHC.initFromArgs are no longer necessary.
- GHC.newSession takes the root of the GHC tree as an argument
(previously passed to GHC.init).
- You *must* do GHC.setSessionDynFlags after GHC.newSession,
this is what loads the package database.
- Several global vars removed from SysTools
- The :set command in GHCi can now cause new packages to be loaded,
or can hide/ignore existing packages.
Simon Marlow [Tue, 19 Sep 2006 01:18:49 +0000 (01:18 +0000)]
one more boring file
Simon Marlow [Tue, 19 Sep 2006 01:18:23 +0000 (01:18 +0000)]
fix one boring file
Simon Marlow [Tue, 19 Sep 2006 01:17:46 +0000 (01:17 +0000)]
unused imports
Simon Marlow [Tue, 19 Sep 2006 01:17:22 +0000 (01:17 +0000)]
add boring files from a build tree
Simon Marlow [Tue, 19 Sep 2006 01:03:33 +0000 (01:03 +0000)]
remove old comment
Simon Marlow [Tue, 19 Sep 2006 01:03:03 +0000 (01:03 +0000)]
unused import
Simon Marlow [Mon, 18 Sep 2006 23:29:24 +0000 (23:29 +0000)]
some updates
Simon Marlow [Mon, 18 Sep 2006 23:29:03 +0000 (23:29 +0000)]
use ghc-pkg --force-files, and update command-line syntax
Simon Marlow [Mon, 18 Sep 2006 23:28:34 +0000 (23:28 +0000)]
add --force-files, like --force but doesn't allow missing dependencies
Simon Marlow [Sat, 16 Sep 2006 08:42:05 +0000 (08:42 +0000)]
emit an error if the user ran autoconf instead of autoreconf
Simon Marlow [Sat, 16 Sep 2006 07:05:29 +0000 (07:05 +0000)]
Sanity check that all the core packages are present
To catch the case of not running darcs-all get.
Simon Marlow [Wed, 13 Sep 2006 10:35:12 +0000 (10:35 +0000)]
reformat import
Simon Marlow [Wed, 13 Sep 2006 10:34:27 +0000 (10:34 +0000)]
minor reformatting
Simon Marlow [Wed, 13 Sep 2006 02:13:00 +0000 (02:13 +0000)]
compiler/ isn't boring
Markus Lauer [Mon, 18 Sep 2006 16:18:50 +0000 (16:18 +0000)]
Added parsing rule for BangPattern in case expr
simonpj@microsoft.com [Mon, 18 Sep 2006 00:52:23 +0000 (00:52 +0000)]
Fix a bug in subsumption, and tweak error messages
This commit does two largely-unrelated things, but they hit the same code.
First, I tweaked the error messages a bit, to give better errors
for impredicative polymorphism. This added the mb_fun argument to
tc_sub.
Second, I fixed a long-standing bug in tc_sub. In the isBoxyTyVar case
of tc_sub (rule F2) I was not recursing to tc_sub as the rule suggests,
but rather calling u_tys. This is plain wrong, because the first
arugment might have more foralls.
The solution is to recurse to tc_sub, but that in turn requires a parameter,
exp_ib, which says when we are inside a box.
Test is tc210.
simonpj@microsoft.com [Mon, 18 Sep 2006 00:51:42 +0000 (00:51 +0000)]
Comments
simonpj@microsoft.com [Mon, 18 Sep 2006 00:48:05 +0000 (00:48 +0000)]
Ensure that only zonked poly_ids are passed to tcSpecPrag
This is a long-standing bug really (Trac #900). The poly_id passed
to tcSpecPrag should be zonked, else it calls tcSubExp with a non-zonked
type; but that contradicts the latter's invariant.
I ended up doing a bit of refactoring too. The extra lines are
comments I think; the code line count is reduced.
Test is tc212.hs
simonpj@microsoft.com [Mon, 18 Sep 2006 00:41:09 +0000 (00:41 +0000)]
Comments only
simonpj@microsoft.com [Sun, 17 Sep 2006 17:17:07 +0000 (17:17 +0000)]
Add a missing renamer dump (related to Template Haskell)
bringert@cs.chalmers.se [Fri, 15 Sep 2006 23:33:15 +0000 (23:33 +0000)]
Instantiate data constructor type variables with the type constructor type variables in constraints for derived class instances. Fixes instance deriving for GADTs which declar H98 types, closing ticket #902.
bringert@cs.chalmers.se [Fri, 15 Sep 2006 23:05:17 +0000 (23:05 +0000)]
Fixed error in user's manual, gadt section, part about deriving. Data constructor type was Maybe, should be Maybe1.
Ian Lynagh [Tue, 12 Sep 2006 12:56:17 +0000 (12:56 +0000)]
Replace "&" with "and" as this also gets pulled into the docbook docs
Simon Marlow [Mon, 11 Sep 2006 13:50:37 +0000 (13:50 +0000)]
move the "meat" into the wiki, this file just contains pointers now
audreyt@audreyt.org [Tue, 12 Sep 2006 12:13:23 +0000 (12:13 +0000)]
Another s/autrijus/audreyt/ in comments.
audreyt@audreyt.org [Tue, 12 Sep 2006 12:09:42 +0000 (12:09 +0000)]
Take away XXXs in GADT records related code that are no longer TODOs.
Ian Lynagh [Mon, 11 Sep 2006 22:32:10 +0000 (22:32 +0000)]
Fix ~2000 second profiling time wrapping bug
simonpj@microsoft.com [Tue, 12 Sep 2006 08:11:04 +0000 (08:11 +0000)]
Add postfix ops to the release notes
simonpj@microsoft.com [Mon, 11 Sep 2006 16:28:43 +0000 (16:28 +0000)]
Document postfix operators
simonpj@microsoft.com [Mon, 11 Sep 2006 08:35:10 +0000 (08:35 +0000)]
Simplify desugaring of left sections
MERGE TO 6.6 branch!
Some while ago I made the type checker a tiny bit more lenient about
left sections, so that
(x !)
would typecheck iff
((!) x)
typechecks.
Strictly, Haskell 98 requires that the section typechecks iff
(\y. (!) x y)
typechecks, and I should really have made the relaxation dependent on a
flag, but I didn't.
Anyway, this commit fixes the *desugarer* so that it correctly desugars
the programs that the typechecker passes.
simonpj@microsoft.com [Mon, 11 Sep 2006 08:34:40 +0000 (08:34 +0000)]
Add comment
Ian Lynagh [Sun, 10 Sep 2006 20:06:11 +0000 (20:06 +0000)]
Fix warnings traceBegin/traceEnd implicitly declared
Ian Lynagh [Sun, 10 Sep 2006 14:15:06 +0000 (14:15 +0000)]
Fix linking to expf on Windows
Ross Paterson [Sun, 10 Sep 2006 14:39:41 +0000 (14:39 +0000)]
adapt stylesheet to example-contents class used by xsltproc
Ian Lynagh [Sat, 9 Sep 2006 10:24:45 +0000 (10:24 +0000)]
8 byte align data. Fixes SIBGUSs on HPPA/Linux.
Ian Lynagh [Fri, 8 Sep 2006 19:17:06 +0000 (19:17 +0000)]
We now need alex >= 2.0.1
sof@galois.com [Sat, 9 Sep 2006 14:44:32 +0000 (14:44 +0000)]
remove generated files in a 'finally' manner
simonpj@microsoft.com [Fri, 8 Sep 2006 09:52:17 +0000 (09:52 +0000)]
Catch errors in pattern matching for unboxed tuples
When fiddling with pattern-matching for unboxed tuples, I'd messed up
the slightly-tricky tests for pattern matching on unboxed tuples, notably
case (# foo, bar #) of r -> ...r...
The fix is in TcPat, and test are tcfail115, tcfail120, and tc209
Ian Lynagh [Fri, 8 Sep 2006 01:49:47 +0000 (01:49 +0000)]
Typo, spotted by Bulat Ziganshin
Ian Lynagh [Fri, 8 Sep 2006 01:40:50 +0000 (01:40 +0000)]
Release note tweaks suggested by Bulat Ziganshin
Ian Lynagh [Thu, 7 Sep 2006 20:54:26 +0000 (20:54 +0000)]
Doc fix: generic classes are no longer broken
Spotted by Bulat Ziganshin.
bringert@cs.chalmers.se [Thu, 7 Sep 2006 21:46:26 +0000 (21:46 +0000)]
Fixed typo in users guide section about lexically scoped type variables.
Ian Lynagh [Thu, 7 Sep 2006 17:10:38 +0000 (17:10 +0000)]
If we get an unknown or unimplemented opcode, say what it is
Ross Paterson [Thu, 7 Sep 2006 15:29:30 +0000 (15:29 +0000)]
remove __HUGS__ #if's (Hugs uses the standalone version)
Simon Marlow [Thu, 7 Sep 2006 15:18:55 +0000 (15:18 +0000)]
Remove the -optP-P from .raw-hs generation
We need the #line directives left in, so that Haddock can figure out
what the name of the original source file was called, which is
necessary for generating source links. You probably now need an
updated Haddock to generate HTML from the libraries, but a release
will be forthcoming shortly.
simonpj@microsoft.com [Thu, 7 Sep 2006 14:18:45 +0000 (14:18 +0000)]
Fix the handling of names in declaration brackets
The handling of top-level names in declaration brackets is a bit tricky.
This commit fixes Trac #977; test is TH_spliceD2.
The changes are commented in RnExpr.rnBracket and RdrName.hideSomeUnquals
Simon Marlow [Thu, 7 Sep 2006 11:37:02 +0000 (11:37 +0000)]
urk, the dependencies added in the last commit don't really work properly
first, I got the dependencies wrong (should be the .o file, not the
.hs), and secondly GHC's recompilation checker refuses to recompile
these files anyway. I haven't done anything about the second problem
yet, except to comment it.
Ian Lynagh [Thu, 7 Sep 2006 11:20:27 +0000 (11:20 +0000)]
Remove trailing CRs with sed rather than relying on diff in nofib
Some diffs don't understand --strip-trailing-cr.
simonpj@microsoft.com [Thu, 7 Sep 2006 11:15:40 +0000 (11:15 +0000)]
Documentation for impredicative polymorphism
simonpj@microsoft.com [Thu, 7 Sep 2006 10:57:05 +0000 (10:57 +0000)]
Comments only
simonpj@microsoft.com [Thu, 7 Sep 2006 10:43:01 +0000 (10:43 +0000)]
Remove result type signatures from documentation
simonpj@microsoft.com [Thu, 7 Sep 2006 10:30:52 +0000 (10:30 +0000)]
Fix bug in error message
simonpj@microsoft.com [Thu, 7 Sep 2006 10:27:18 +0000 (10:27 +0000)]
Result type signatures are no longer supported (partial)
I had failed to remove the bit where result type signatures bind
lexical type variables. And now we are planning to remove them entirely.
This commit therefore does a partial removal (to avoid destablising 6.6).
It also arranges that
f :: sig = rhs
means a *pattern* binding (not a function binding with no arguments
and a result signature), which makes sense.
Simon Marlow [Thu, 7 Sep 2006 09:47:51 +0000 (09:47 +0000)]
Add dependencies on .h files #included into Haskell source
Our .depend machinery doesn't automatically generate these, so we have
to add them manually. (this fixes one instance of missing
dependencies in the GHC build tree, there are lots more...).
Simon Marlow [Thu, 7 Sep 2006 09:30:05 +0000 (09:30 +0000)]
Remove CONSTR_CHARLIKE and CONSTR_INTLIKE closure types
These closure types aren't used/needed, as far as I can tell. The
commoning up of Chars/Ints happens by comparing info pointers, and
the info table for a dynamic C#/I# is CONSTR_0_1. The RTS seemed
a little confused about whether CONSTR_CHARLIKE/CONSTR_INTLIKE were
supposed to be static or dynamic closures, too.
Simon Marlow [Thu, 7 Sep 2006 08:44:45 +0000 (08:44 +0000)]
document -V in the +RTS --help outpout
simonpj@microsoft.com [Wed, 6 Sep 2006 22:04:17 +0000 (22:04 +0000)]
Pattern-match warning police
simonpj@microsoft.com [Wed, 6 Sep 2006 22:03:09 +0000 (22:03 +0000)]
Improve error reporting for SigTvs, and add comments
simonpj@microsoft.com [Wed, 6 Sep 2006 22:01:01 +0000 (22:01 +0000)]
Check that top-level binders are unqualified names
Not having this check led to strange error messages.
See test rnfail046.
Ian Lynagh [Wed, 6 Sep 2006 19:54:15 +0000 (19:54 +0000)]
Don't fail on missing happy/alex if we don't need them
simonpj@microsoft.com [Wed, 6 Sep 2006 11:52:42 +0000 (11:52 +0000)]
Make record selection look cheap
exprIsCheap was already making record selection look cheap, esp for
dictionary selection; e.g.
(==) dEq
The idea is to allow those record selections to migrate inside a
lambda, because on the whole it's more expensive to share than
repeat them.
But sometimes dictionary selection is nested; e.g.
(==) ($p1Num dNum)
This turned out to make a (fragile) rewrite rule fire a little
more robustly, but it seems like a good idea in any case.
This patch makes nested record selections also look cheap.
simonpj@microsoft.com [Wed, 6 Sep 2006 16:41:03 +0000 (16:41 +0000)]
Documentation for lexically-scoped type variables
GHC's design for lexically scoped type variables has changed.
Here, belatedly, is the documentation.
Ian Lynagh [Wed, 6 Sep 2006 11:27:50 +0000 (11:27 +0000)]
Fix the Windows "VirtualAlloc MEM_COMMIT failed" bug
We had
base=
01100000 size=1048576 size_delta=0 it->size=2097152
it->base=
00F00000 base-it->base=
00200000
in commitBlocks.
Esa Ilari Vuokko identified this inequality test as the cause.
Simon Marlow [Wed, 6 Sep 2006 10:40:22 +0000 (10:40 +0000)]
Now in the wiki
Simon Marlow [Wed, 6 Sep 2006 09:31:58 +0000 (09:31 +0000)]
-threaded and -prof do not currently work together
Duncan Coutts [Tue, 5 Sep 2006 23:20:47 +0000 (23:20 +0000)]
Correct the Cabal version number and remove features.
We're not going to include cabal-setup and cabal-install in this release.
Ian Lynagh [Tue, 5 Sep 2006 18:49:10 +0000 (18:49 +0000)]
Strip trailing CRs when comparing output for nofib. Fixes #797.
Ian Lynagh [Tue, 5 Sep 2006 14:15:45 +0000 (14:15 +0000)]
new RTS flag: -V to modify the resolution of the RTS timer
Fixed version of an old patch by Simon Marlow. His description read:
Also, now an arbitrarily short context switch interval may now be
specified, as we increase the RTS ticker's resolution to match the
requested context switch interval. This also applies to +RTS -i (heap
profiling) and +RTS -I (the idle GC timer). +RTS -V is actually only
required for increasing the resolution of the profile timer.
simonpj@microsoft.com [Tue, 5 Sep 2006 10:51:43 +0000 (10:51 +0000)]
Fix dependency analysis (notably bindInstsOfLocalFuns) in TcBinds
GHC 6.5 does enhanced dependency analysis for recursive bindings, to
maximise polymorphism based on type signatures. (See Mark Jones's
THIH paper.)
I didn't do the bindInstsOfLocalFuns part correctly though, and jhc
showed up the bug. (It only matters when you have a recursive group
of two or more functions with a type signature, not at top level, which
is why it hasn't shown up till now.)
Test is tc207.hs
simonpj@microsoft.com [Tue, 5 Sep 2006 09:22:01 +0000 (09:22 +0000)]
Add note about overlapping instances
simonpj@microsoft.com [Tue, 5 Sep 2006 09:18:34 +0000 (09:18 +0000)]
Record that TH doesn't support pattern types signature
Ian Lynagh [Mon, 4 Sep 2006 19:09:58 +0000 (19:09 +0000)]
Fix typos.
simonpj@microsoft.com [Mon, 4 Sep 2006 13:22:12 +0000 (13:22 +0000)]
Refactoring for derived Read
There are no functional changes in this commit. But the code for
derived Read is refactored to make it tidier --- and also to make
it very easy if we want derived Read to parse the prefix form of
infix ocnstructors.
For example,
data T = Int `T1` Int
According to the H98 report, the derived Read instance will parse
infix uses of T1, but not prefix uses (T1 4 3). It's arguable that it
should parse both -- and easy to implement, but it would cause a little bit
of code bloat.
Similarly records.
Anyway this commit doesn't implement the change; just makes it easy
to do so.
simonpj@microsoft.com [Mon, 4 Sep 2006 13:14:12 +0000 (13:14 +0000)]
Enable bang-patterns only when the flag says so (had missed a case before)
simonpj@microsoft.com [Mon, 4 Sep 2006 13:13:34 +0000 (13:13 +0000)]
Improve pretty-printing for HsExpr
simonpj@microsoft.com [Mon, 4 Sep 2006 12:51:05 +0000 (12:51 +0000)]
Remove linear implicit parameters, and document in release notes
simonpj@microsoft.com [Mon, 4 Sep 2006 12:44:58 +0000 (12:44 +0000)]
Release notes should mention better newtype-deriving
simonpj@microsoft.com [Mon, 4 Sep 2006 12:34:38 +0000 (12:34 +0000)]
Documentation for bang patterns, and other improvements
Ian Lynagh [Sun, 3 Sep 2006 22:48:23 +0000 (22:48 +0000)]
Add a hint on tab completion
Ian Lynagh [Sun, 3 Sep 2006 22:31:07 +0000 (22:31 +0000)]
Add :main docs to ghci commands page
Ian Lynagh [Sun, 3 Sep 2006 22:21:15 +0000 (22:21 +0000)]
Ambiguities are now allowed in ghci command names
Ian Lynagh [Sun, 3 Sep 2006 22:19:33 +0000 (22:19 +0000)]
More output updates
Ian Lynagh [Sun, 3 Sep 2006 22:01:30 +0000 (22:01 +0000)]
Add docs for :main
Ian Lynagh [Sun, 3 Sep 2006 21:57:48 +0000 (21:57 +0000)]
More doc output fixes
Ian Lynagh [Sun, 3 Sep 2006 21:41:28 +0000 (21:41 +0000)]
Update ghci output in docs
Ian Lynagh [Sun, 3 Sep 2006 21:26:51 +0000 (21:26 +0000)]
Fix typo
Ian Lynagh [Sun, 3 Sep 2006 21:08:05 +0000 (21:08 +0000)]
Update ghci output in docs
Ian Lynagh [Sun, 3 Sep 2006 21:03:49 +0000 (21:03 +0000)]
Remove a tab causing ghci's :? alignment to go wrong
Esa Ilari Vuokko [Thu, 31 Aug 2006 22:33:15 +0000 (22:33 +0000)]
Don't lose linked list tail
Esa Ilari Vuokko [Wed, 30 Aug 2006 18:55:40 +0000 (18:55 +0000)]
Fix Windows MBlock alloctor bookkeeping bug
simonpj@microsoft.com [Fri, 1 Sep 2006 12:57:14 +0000 (12:57 +0000)]
-fglasgow-exts no longer implies -fbang-patterns
Ian Lynagh [Fri, 1 Sep 2006 12:58:41 +0000 (12:58 +0000)]
Fix error in release notes, spotted by Esa Ilari Vuokko
Ian Lynagh [Fri, 1 Sep 2006 12:54:36 +0000 (12:54 +0000)]
Remove changes in packages we don't build
Ian Lynagh [Tue, 29 Aug 2006 12:32:28 +0000 (12:32 +0000)]
Don't enable SMP if we are unregisterised
simonpj@microsoft.com [Thu, 31 Aug 2006 13:55:11 +0000 (13:55 +0000)]
Add a pointer to the fundeps paper
Simon Marlow [Thu, 31 Aug 2006 10:36:48 +0000 (10:36 +0000)]
free the task *after* calling closeCond and closeMutex
Simon Marlow [Thu, 31 Aug 2006 10:18:13 +0000 (10:18 +0000)]
add missing ghc_ge_605
Simon Marlow [Thu, 31 Aug 2006 08:57:28 +0000 (08:57 +0000)]
don't closeMutex() the Capability lock
There might be threads in foreign calls that will attempt to return
via resumeThread() and grab this lock, so we can't safely destroy it.
Fixes one cause of
internal error: ASSERTION FAILED: file Capability.c, line 90
although I haven't repeated that assertion failure in the wild, only
with a specially crafted test case, so I can't be sure I really got
it.