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.
Simon Marlow [Wed, 30 Aug 2006 14:15:29 +0000 (14:15 +0000)]
fix Unix build
Simon Marlow [Wed, 30 Aug 2006 14:02:52 +0000 (14:02 +0000)]
add sysErrorBelch() for reporting system call errors
Simon Marlow [Wed, 30 Aug 2006 12:31:31 +0000 (12:31 +0000)]
call ShutdownIOManager() before closing handles
To avoid IO requests completing only to discover that the
completed_table_sema has been CloseHandle()'d. This all looks a bit
wrong, though: we shouldn't really be waiting for these requests to
complete, they might take forever.
Simon Marlow [Wed, 30 Aug 2006 09:18:59 +0000 (09:18 +0000)]
Windows: make some soft failures into fatal errors
Some of the memory allocation calls were being checked for error, but
the RTS was printing a message and continuing. These error cases
lead to crashes later, so better to just fail immediately.
Simon Marlow [Wed, 30 Aug 2006 09:15:29 +0000 (09:15 +0000)]
MAYBE_GC: initialise HpAlloc
HpAlloc was not being set when returning to the scheduler via MAYBE_GC(),
which at the least was just wrong (the scheduler might allocate a large
block more than once), and at worst could lead to crashes if HpAlloc contains
garbage.
Fixes at least one threaded2 test on Windows.
Simon Marlow [Wed, 30 Aug 2006 08:33:11 +0000 (08:33 +0000)]
FILL_SLOP: don't fill slop for BLACKHOLE/CAF_BLACKHOLE
This affects -debug only, avoids crash with test conc012.
Simon Marlow [Tue, 29 Aug 2006 15:17:51 +0000 (15:17 +0000)]
oops, got the sense of the error case wrong
Simon Marlow [Tue, 29 Aug 2006 13:51:50 +0000 (13:51 +0000)]
fix some rerrors in the worker counting
Simon Marlow [Tue, 29 Aug 2006 11:33:45 +0000 (11:33 +0000)]
add missing case for BlockedOnDoProc
Simon Marlow [Tue, 29 Aug 2006 10:49:21 +0000 (10:49 +0000)]
omit HGL on Windows
Simon Marlow [Tue, 29 Aug 2006 09:37:35 +0000 (09:37 +0000)]
Don't trust "ln -sf" to do the right thing (it doesn't on Solaris)
Patch from: Roman Leshchinskiy
Simon Marlow [Tue, 29 Aug 2006 08:59:46 +0000 (08:59 +0000)]
don't include HaXml, Japi and monads in a GHC checkout
They aren't built as part of a GHC build anyway, it doesn't make much
sense to include them in checkouts or source tarballs.
Simon Marlow [Tue, 29 Aug 2006 08:38:42 +0000 (08:38 +0000)]
don't include .depend (attempt to fix Windows stage2 build failure)
Ian Lynagh [Fri, 25 Aug 2006 19:36:03 +0000 (19:36 +0000)]
Add mipsel case to configure.ac
Ross Paterson [Fri, 25 Aug 2006 16:24:15 +0000 (16:24 +0000)]
incremented versions of arrows and X11
Ross Paterson [Fri, 25 Aug 2006 16:16:45 +0000 (16:16 +0000)]
omit Control.Sequential.STM
It's an internal module used by non-GHC implementations only.
Simon Marlow [Fri, 25 Aug 2006 15:49:55 +0000 (15:49 +0000)]
various minor tweaks, and rearrange to put "important" changes near the top
Simon Marlow [Fri, 25 Aug 2006 15:26:13 +0000 (15:26 +0000)]
mention -fno-mono-pat-binds, since this is a diversion from Haskell 98
Simon Marlow [Fri, 25 Aug 2006 15:12:36 +0000 (15:12 +0000)]
Document SMP support
Simon Marlow [Fri, 25 Aug 2006 14:09:06 +0000 (14:09 +0000)]
Load the target of a dynamic foreign call into a temporary
Fixes ffi011(opt) on x86_64. I don't know why this has only just
appeared today, it's apparently been broken for some time.
Simon Marlow [Fri, 25 Aug 2006 13:36:28 +0000 (13:36 +0000)]
Sparc supports SMP too
Ian Lynagh [Fri, 25 Aug 2006 01:02:19 +0000 (01:02 +0000)]
Fix rewriting of Control.Exception.Assert; fixes 875
Ian Lynagh [Fri, 25 Aug 2006 11:05:20 +0000 (11:05 +0000)]
Add the regex reshuffle to the release notes
Ian Lynagh [Fri, 25 Aug 2006 10:24:18 +0000 (10:24 +0000)]
parsec is now a core library
Roman Leshchinskiy [Fri, 25 Aug 2006 10:18:46 +0000 (10:18 +0000)]
Add a default case to pprDynamicLinkerAsmLabel
This is mainly for the benefit of Solaris. I'll fix this properly later.
Roman Leshchinskiy [Fri, 25 Aug 2006 10:18:20 +0000 (10:18 +0000)]
Reserve a register for REG_Base on the Sparc
Roman Leshchinskiy [Fri, 25 Aug 2006 10:17:53 +0000 (10:17 +0000)]
Add atomic SMP primitives for the Sparc
Roman Leshchinskiy [Fri, 25 Aug 2006 10:16:46 +0000 (10:16 +0000)]
Make sure GCC uses the Sparc V9 instruction set
We only support Sparc V9 and better as V8 lacks an atomic CAS instruction
which we need for SMP. This means that we have to pass -mcpu=v9 to GCC when
compiling and assembling. Hardcoding the flag is hackish but seems to be
our best bet at the moment. It can still be overridden by the user as GCC
picks the best -mcpu flag regardless of the ordering.
Simon Marlow [Fri, 25 Aug 2006 10:02:44 +0000 (10:02 +0000)]
shutdownCapability(): don't bail out after 50 iterations
See comments for details. Fixes assertion failures in stage 3 build
which appeared after recent closeMutex() addidion. May fix other
shutdown issues.