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.
Simon Marlow [Fri, 25 Aug 2006 09:32:26 +0000 (09:32 +0000)]
add dependency on regex-compat
Simon Marlow [Fri, 25 Aug 2006 09:10:13 +0000 (09:10 +0000)]
move parsec into $(GhcBootLibs); tidy up
Simon Marlow [Fri, 25 Aug 2006 08:57:12 +0000 (08:57 +0000)]
Mips registerised support
Contributed by: Thiemo Seufer <ths@networkno.de>
Simon Marlow [Fri, 25 Aug 2006 08:46:07 +0000 (08:46 +0000)]
parsec is required to be a core package, genprimopcode uses it
Simon Marlow [Fri, 25 Aug 2006 08:44:35 +0000 (08:44 +0000)]
Free Win32 Handles on shutdown
patch from #878
Ian Lynagh [Fri, 25 Aug 2006 00:39:45 +0000 (00:39 +0000)]
Fix unregisterised builds, and building on non-x86/amd64/powerpc
Ian Lynagh [Thu, 24 Aug 2006 21:16:46 +0000 (21:16 +0000)]
Release notes for GHC 6.6
Simon Marlow [Thu, 24 Aug 2006 15:35:00 +0000 (15:35 +0000)]
Update for changes to packages
Not much has changed really: just the removal of the overlap
restriction, and the re-instatement of the requirement that
-package-name must be used when compiling a package now.
Simon Marlow [Thu, 24 Aug 2006 15:25:29 +0000 (15:25 +0000)]
somehow I lost the unix subdir; recover it
Simon Marlow [Thu, 24 Aug 2006 15:06:47 +0000 (15:06 +0000)]
expand the section on getting the source.
Simon Marlow [Thu, 24 Aug 2006 14:57:17 +0000 (14:57 +0000)]
config in regex-posix too
Simon Marlow [Thu, 24 Aug 2006 14:30:16 +0000 (14:30 +0000)]
make all AC_CONFIG_SUBDIRS optional
Esa Ilari Vuokko [Wed, 23 Aug 2006 22:18:28 +0000 (22:18 +0000)]
Add dynCompileExpr
Ian Lynagh [Thu, 24 Aug 2006 12:18:06 +0000 (12:18 +0000)]
Remove duplicate documentation of -package flag
Ian Lynagh [Thu, 24 Aug 2006 12:14:42 +0000 (12:14 +0000)]
Remove a reference to -fglobalise-toplev-names that got left behind
Esa Ilari Vuokko [Wed, 23 Aug 2006 19:46:04 +0000 (19:46 +0000)]
Add closeMutex and use it on clean up
Esa Ilari Vuokko [Wed, 23 Aug 2006 00:30:41 +0000 (00:30 +0000)]
Add shared Typeable support
Esa Ilari Vuokko [Wed, 23 Aug 2006 15:50:23 +0000 (15:50 +0000)]
Ignore sections generated from .ident
Simon Marlow [Thu, 24 Aug 2006 11:55:35 +0000 (11:55 +0000)]
update with respect to darcs-all changes
Simon Marlow [Thu, 24 Aug 2006 11:49:02 +0000 (11:49 +0000)]
divide packages into "core" and "extra" packages
The following packages are now "core" packages:
base, Cabal, haskell98, readline, regex-base, regex-compat
regex-posix, stm, template-haskell, unix, Win32
Core packages are those packages required to bootstrap GHC, or are
closely tied to GHC (stm, template-haskell). These are the packages
that will be provided in a source distribution from now on.
All other packages are classified as "extra" packages. As far as
binary distributions and nightly builds go, nothing will change -
we'll still build and include all these packages in the distributions.
NOTE: 'sh darcs-all get' will now get the core packages only. To get
the extra packages too, use 'sh darcs-all --extra get'.