Ian Lynagh [Thu, 21 Oct 2010 13:55:51 +0000 (13:55 +0000)]
Whitespace only
Ian Lynagh [Thu, 21 Oct 2010 13:44:04 +0000 (13:44 +0000)]
Whitespace only
Ian Lynagh [Thu, 21 Oct 2010 13:41:33 +0000 (13:41 +0000)]
Whitespace only
Ian Lynagh [Thu, 21 Oct 2010 12:29:42 +0000 (12:29 +0000)]
Windows installer improvements from Claus
- add link to inno setup docs, so readers don't have to guess what
ghc.iss might be
- add Task section, and associated most Registry actions with separate
(sub)tasks, so that file associations, default action, and PATH
setting can be optional
- copy license file into doc directory
- install icon file again, so that DefaultIcon is no longer a dangling
pointer (#4352)
- only delete ghc_haskell key if empty (in case there were other tools
using it)
- add versioned GHCi to right-click menu (to allow for multiple tool installs)
simonpj@microsoft.com [Thu, 21 Oct 2010 17:03:24 +0000 (17:03 +0000)]
Fix Trac #4396, by localising pattern binders in the desugarer
See Note [Localise pattern binders]
simonpj@microsoft.com [Thu, 21 Oct 2010 17:02:32 +0000 (17:02 +0000)]
White space only
simonpj@microsoft.com [Thu, 21 Oct 2010 17:02:22 +0000 (17:02 +0000)]
Add an assertion
Ian Lynagh [Thu, 21 Oct 2010 12:14:54 +0000 (12:14 +0000)]
Use takeUniqFromSupply in ByteCodeGen
Ian Lynagh [Thu, 21 Oct 2010 12:10:59 +0000 (12:10 +0000)]
Fix some whitespace
Ian Lynagh [Thu, 21 Oct 2010 12:08:53 +0000 (12:08 +0000)]
Use takeUniqFromSupply in emitProcWithConvention
We were using the supply's unique, and then passing the same supply to
initUs_, which sounds like a bug waiting to happen.
Ian Lynagh [Thu, 21 Oct 2010 12:03:04 +0000 (12:03 +0000)]
Use takeUniqFromSupply in IfaceEnv
This is a little nicer than having to explicitly split supplies and
throw half of them away.
Ian Lynagh [Thu, 21 Oct 2010 11:58:22 +0000 (11:58 +0000)]
Define takeUniqFromSupply
Ian Lynagh [Thu, 21 Oct 2010 11:56:00 +0000 (11:56 +0000)]
Remove some extraneous whitespace
Ian Lynagh [Thu, 21 Oct 2010 11:34:04 +0000 (11:34 +0000)]
Add a comment on why some seq's are done
simonpj@microsoft.com [Thu, 21 Oct 2010 10:06:40 +0000 (10:06 +0000)]
Tidy up RuntimeUnkSkols a bit more
simonpj@microsoft.com [Thu, 21 Oct 2010 08:54:20 +0000 (08:54 +0000)]
Fix haddock markup
simonpj@microsoft.com [Thu, 21 Oct 2010 08:54:02 +0000 (08:54 +0000)]
Improve rule checking, to fix panic Trac #4398
Lots of comments with decomposeRuleLhs
simonpj@microsoft.com [Thu, 21 Oct 2010 08:50:30 +0000 (08:50 +0000)]
Improve the simple expression optimiser so it does simple beta reduction
Reiner Pope [Sun, 10 Oct 2010 13:17:20 +0000 (13:17 +0000)]
Template Haskell: add view patterns (Trac #2399)
simonpj@microsoft.com [Thu, 21 Oct 2010 07:08:37 +0000 (07:08 +0000)]
Tidy-up sweep, following the Great Skolemisation Simplification
Ian Lynagh [Wed, 20 Oct 2010 15:19:52 +0000 (15:19 +0000)]
Fix haddock markup
Ian Lynagh [Wed, 20 Oct 2010 15:16:36 +0000 (15:16 +0000)]
Tweak the haddock rules; no functional change
Ian Lynagh [Wed, 20 Oct 2010 14:37:10 +0000 (14:37 +0000)]
Don't seq unfoldings
We generate intermediate unfoldings which are just thrown away, so
evaluating them is a waste of time.
Ian Lynagh [Wed, 20 Oct 2010 13:15:39 +0000 (13:15 +0000)]
Avoid hanging on to old unfoldings; fixes #4367 (compiler space regression)
simonpj@microsoft.com [Wed, 20 Oct 2010 13:24:38 +0000 (13:24 +0000)]
Comments and layout only
Ian Lynagh [Wed, 20 Oct 2010 10:47:59 +0000 (10:47 +0000)]
Look for sources in Cabal's autogen directory too
Ian Lynagh [Wed, 20 Oct 2010 10:47:39 +0000 (10:47 +0000)]
Follow Cabal change: Use usedExtensions rather than extensions
Simon Marlow [Wed, 20 Oct 2010 12:31:16 +0000 (12:31 +0000)]
fix markup
Simon Marlow [Wed, 20 Oct 2010 12:31:06 +0000 (12:31 +0000)]
remove xref to hasktags
Neil Mitchell [Sun, 10 Oct 2010 10:07:09 +0000 (10:07 +0000)]
Update the documentation on using DLL's from Windows, fixing several errors, in particular those relating to bug 3605
dimitris@microsoft.com [Wed, 20 Oct 2010 11:55:26 +0000 (11:55 +0000)]
(1) More lenient kind checking, (2) Fixed orientation problems and avoiding double unifications, (3) Comments
dimitris@microsoft.com [Tue, 19 Oct 2010 17:15:14 +0000 (17:15 +0000)]
Midstream changes to deal with spontaneous solving and flatten skolem equivalence classes
Simon Marlow [Mon, 18 Oct 2010 08:44:01 +0000 (08:44 +0000)]
hasktags was dropped in GHC 6.12, remove it from the docs
simonpj@microsoft.com [Wed, 20 Oct 2010 09:09:46 +0000 (09:09 +0000)]
Refactor, plus fix Trac #4418
We weren't doing fundeps for derived superclasses
simonpj@microsoft.com [Wed, 20 Oct 2010 07:59:41 +0000 (07:59 +0000)]
Add a comment, connecting the seq to the test (#4367) that shows its usefulness
Ian Lynagh [Tue, 19 Oct 2010 20:15:37 +0000 (20:15 +0000)]
Define setIdUnfoldingLazily, and use it in Vectorise
Fixes a loop in the compiler, when running the dph tests
Ian Lynagh [Tue, 19 Oct 2010 17:05:32 +0000 (17:05 +0000)]
Evaluate the results in coreToStgApp
Ian Lynagh [Tue, 19 Oct 2010 15:55:30 +0000 (15:55 +0000)]
Retab CoreToStg, and remove trailing whitespace
Ian Lynagh [Tue, 19 Oct 2010 15:45:52 +0000 (15:45 +0000)]
seq the unfolding in setUnfoldingInfo
Contrary to the comment, for the module in #4367 at least, it is a big
improvement. Without it we get a huge spike of drag.
simonpj@microsoft.com [Tue, 19 Oct 2010 15:35:31 +0000 (15:35 +0000)]
Comments only
simonpj@microsoft.com [Tue, 19 Oct 2010 15:35:22 +0000 (15:35 +0000)]
Fix debugger
A bit yukky; see Note [Runtime skolems] in TcErrors.
But it works, and the debugger just is yukky in places.
simonpj@microsoft.com [Tue, 19 Oct 2010 09:02:20 +0000 (09:02 +0000)]
Fix IPRun by fixing the inferred quantification mechanism
simonpj@microsoft.com [Tue, 19 Oct 2010 09:02:02 +0000 (09:02 +0000)]
Recover after an error in an implication constraint
simonpj@microsoft.com [Tue, 19 Oct 2010 09:01:40 +0000 (09:01 +0000)]
Reject programs with equality superclasses for now
simonpj@microsoft.com [Tue, 19 Oct 2010 09:01:24 +0000 (09:01 +0000)]
Layout and tiny refactoring only
simonpj@microsoft.com [Tue, 19 Oct 2010 09:01:00 +0000 (09:01 +0000)]
Clean up the debugger code
In particular there is much less fiddly skolemisation now
Things are not *quite* right (break001 and 006 still fail),
but they are *much* better than before.
simonpj@microsoft.com [Tue, 19 Oct 2010 08:56:09 +0000 (08:56 +0000)]
Add new VarEnv functions minusVarEnv, intersectsVarEnv, unionInScope
dimitris@microsoft.com [Mon, 18 Oct 2010 15:15:10 +0000 (15:15 +0000)]
Major pass through type checker:(1) prioritizing equalities, (2) improved Derived mechanism, (3) bugfixes
dimitris@microsoft.com [Fri, 15 Oct 2010 16:44:21 +0000 (16:44 +0000)]
(1) Caching FD improvements for efficiency, (2) preventing cascading deriveds from entering the inert, (3) Fixing bugs in the creation of FlexiTcS variables
dimitris@microsoft.com [Thu, 14 Oct 2010 14:38:11 +0000 (14:38 +0000)]
Midstream changes for performance improvement related to superclasses and functional dependencies.
dimitris@microsoft.com [Tue, 12 Oct 2010 08:09:51 +0000 (08:09 +0000)]
Minor
dimitris@microsoft.com [Mon, 11 Oct 2010 14:22:35 +0000 (14:22 +0000)]
Commentary changes
dimitris@microsoft.com [Fri, 8 Oct 2010 17:37:00 +0000 (17:37 +0000)]
Kind checking bugfix (#4356) and preventing wanteds from rewriting wanteds
Ian Lynagh [Tue, 19 Oct 2010 13:27:27 +0000 (13:27 +0000)]
Fix a retainer profiling segfault
The bitmap type wasn't big enough to hold large bitmaps on 64 bit
platforms. Profiling GHC was segfaulting when retainStack was handling a
size 33 bitmap.
Ian Lynagh [Mon, 18 Oct 2010 15:39:57 +0000 (15:39 +0000)]
Fix -auto-all: Add SCCs to IDs which have a monotype too
simonpj@microsoft.com [Mon, 18 Oct 2010 13:57:46 +0000 (13:57 +0000)]
Define SpecConstrAnnotation in GHC.Exts, and import it from there
Reason: avoid having to link the entire ghc package in modules
that use compile-time annotations:
import GHC.Exts( SpecConstrAnnotation )
{-# ANN type T ForceSpecConstr #-}
It's a kind of bug that the package exporting SpecConstrAnnotation
is linked even though it is only needed at compile time, but putting
the data type declaration in GHC.Exts is a simple way to sidestep
the problem
See See Note [SpecConstrAnnotation] in SpecConstr
David Terei [Thu, 7 Oct 2010 14:35:59 +0000 (14:35 +0000)]
Fix warnings in AsmCodeGen
David Terei [Mon, 4 Oct 2010 15:38:43 +0000 (15:38 +0000)]
LLVM: Fix compilation of writebarrier, #4308
Ian Lynagh [Sun, 17 Oct 2010 12:23:52 +0000 (12:23 +0000)]
Change how the OS X installer's create-links finds the versin number
It now gets created by configure, rather than trying to work out the
version number at runtime.
Ian Lynagh [Sun, 17 Oct 2010 11:26:48 +0000 (11:26 +0000)]
Add more quoting to distrib/MacOS/installer-scripts/create-links
Evan Laforge [Wed, 29 Sep 2010 23:45:38 +0000 (23:45 +0000)]
change os x installer to allow multiple installed versions
This puts the ghc version into the package name so they are considered separate
packages.
Ian Lynagh [Sat, 16 Oct 2010 18:00:31 +0000 (18:00 +0000)]
Only put the boot packages in the haddock contents/index
We don't install dph etc, so don't put them in the doc index.
Ian Lynagh [Sat, 16 Oct 2010 12:34:21 +0000 (12:34 +0000)]
Correct the regexp used to search for extra packages
We weren't ignoring comment lines
pho@cielonegro.org [Mon, 27 Sep 2010 22:41:45 +0000 (22:41 +0000)]
New member "archiveMemberName" for struct _ObjectCode
struct _ObjectCode should be able to retain the name of archive members.
Though currently the only use of those names are for debugging outputs.
Ian Lynagh [Fri, 15 Oct 2010 17:27:46 +0000 (17:27 +0000)]
Add a -fghci-sandbox flag so that we can en/disable the ghci sandbox
It's on by default (which matches the previous behaviour).
Motivation:
GLUT on OS X needs to run on the main thread. If you
try to use it from another thread then you just get a
white rectangle rendered. For this, or anything else
with such restrictions, you can turn the GHCi sandbox off
and things will be run in the main thread.
Ian Lynagh [Fri, 15 Oct 2010 16:45:49 +0000 (16:45 +0000)]
Fix boot; it was failing if darcs-all or validate were missing
(which is the case in sdists)
simonpj@microsoft.com [Fri, 15 Oct 2010 13:19:24 +0000 (13:19 +0000)]
Comments and layout
simonpj@microsoft.com [Fri, 15 Oct 2010 13:18:57 +0000 (13:18 +0000)]
Make (Located a) an instance of Eq, Ord
Fulfils Trac #4369
simonpj@microsoft.com [Fri, 15 Oct 2010 13:18:14 +0000 (13:18 +0000)]
Give user-defined rules precedence over built-in rules
This fixes Trac #4397. See comments with 'isMoreSpecific'.
simonpj@microsoft.com [Fri, 15 Oct 2010 13:08:18 +0000 (13:08 +0000)]
Fix Trac #4401: meta-tyvars allocated by the constraint solver are always touchable
See Note [Touchable meta type variables] in TcSMonad
simonpj@microsoft.com [Wed, 13 Oct 2010 09:11:07 +0000 (09:11 +0000)]
Remove GHC.extendGlobalRdrScope, GHC.extendGlobalTypeScope
These functions were added by
Tue Apr 18 03:36:06 BST 2006 Lemmih <lemmih@gmail.com>
* Make the initial rdr and type scope available in the ghc-api
The are extremely dubious, because they extend the Rdr and Type
env for every compilation. The right thing to do is to use
the InteractiveContext for temporary extensions.
So far as we know, no one uses them. And if they are being used
it's probably a mistake. So we're backing them out.
Simon Marlow [Fri, 15 Oct 2010 09:49:25 +0000 (09:49 +0000)]
InlinePrag needs an arity only for INLINE, not INLINABLE
This doesn't fix anything (we think), but it's morally correct.
Simon Marlow [Fri, 15 Oct 2010 09:48:36 +0000 (09:48 +0000)]
Fix #4346 (INLINABLE pragma not behaving consistently)
Debugged thanks to lots of help from Simon PJ: we weren't updating the
UnfoldingGuidance when the unfolding changed.
Also, a bit of refactoring and additinoal comments.
Ian Lynagh [Thu, 14 Oct 2010 14:05:56 +0000 (14:05 +0000)]
Have boot check that we have the dph packages when validating
Simon Marlow [Thu, 14 Oct 2010 08:42:53 +0000 (08:42 +0000)]
Add more documentation for interruptible foreign calls
Simon Marlow [Sun, 26 Sep 2010 10:58:19 +0000 (10:58 +0000)]
minor refactoring
Simon Marlow [Sat, 25 Sep 2010 19:34:42 +0000 (19:34 +0000)]
Fix for interruptible FFI handling
Set tso->why_blocked before calling maybePerformBlockedException(), so
that throwToSingleThreaded() doesn't try to unblock the current thread
(it is already unblocked).
Simon Marlow [Sat, 25 Sep 2010 19:33:17 +0000 (19:33 +0000)]
interruptible FFI: more robust handling of the exception case in the interpreter
Edward Z. Yang [Sat, 25 Sep 2010 03:30:26 +0000 (03:30 +0000)]
Don't interrupt when task blocks exceptions, don't immediately start exception.
Edward Z. Yang [Sun, 19 Sep 2010 00:29:05 +0000 (00:29 +0000)]
Interruptible FFI calls with pthread_kill and CancelSynchronousIO. v4
This is patch that adds support for interruptible FFI calls in the form
of a new foreign import keyword 'interruptible', which can be used
instead of 'safe' or 'unsafe'. Interruptible FFI calls act like safe
FFI calls, except that the worker thread they run on may be interrupted.
Internally, it replaces BlockedOnCCall_NoUnblockEx with
BlockedOnCCall_Interruptible, and changes the behavior of the RTS
to not modify the TSO_ flags on the event of an FFI call from
a thread that was interruptible. It also modifies the bytecode
format for foreign call, adding an extra Word16 to indicate
interruptibility.
The semantics of interruption vary from platform to platform, but the
intent is that any blocking system calls are aborted with an error code.
This is most useful for making function calls to system library
functions that support interrupting. There is no support for pre-Vista
Windows.
There is a partner testsuite patch which adds several tests for this
functionality.
Ian Lynagh [Wed, 13 Oct 2010 19:43:56 +0000 (19:43 +0000)]
Remove ghc-pkg's dependency on haskell98
Ian Lynagh [Wed, 13 Oct 2010 18:27:59 +0000 (18:27 +0000)]
Build haskell98 and haskell2010 with stage2
Stops us accidentally depending on them
Ian Lynagh [Wed, 13 Oct 2010 14:12:24 +0000 (14:12 +0000)]
Fix warning: Remove unused import
benl@ouroborus.net [Wed, 13 Oct 2010 04:03:35 +0000 (04:03 +0000)]
Fix warnings
benl@ouroborus.net [Wed, 13 Oct 2010 01:54:14 +0000 (01:54 +0000)]
RegAlloc: Track slot liveness over jumps in spill cleaner
Ian Lynagh [Tue, 12 Oct 2010 15:45:28 +0000 (15:45 +0000)]
Bump Cabal dep
Ian Lynagh [Tue, 12 Oct 2010 13:47:00 +0000 (13:47 +0000)]
Remove __HASKELL1__, __HASKELL98__, __CONCURRENT_HASKELL__
We used to define these CPP symbols, but nothing on hackage uses them
and the first 2 are no longer correct (as we support multiple Haskell
versions).
Ian Lynagh [Tue, 12 Oct 2010 13:05:38 +0000 (13:05 +0000)]
Follow Cabal changes: Cabal no longer has a docbook userguide
For now we don't build the Cabal userguide, but we should add markdown
support so that we can do so.
Ian Lynagh [Tue, 12 Oct 2010 11:21:11 +0000 (11:21 +0000)]
Fix build on Windows: ghc-pkg/Main.hs needs ForeignFunctionInterface
Ian Lynagh [Sun, 10 Oct 2010 22:22:31 +0000 (22:22 +0000)]
Remove unnecessary import
Ian Lynagh [Thu, 7 Oct 2010 00:43:27 +0000 (00:43 +0000)]
Make "./validate --slow" run the full testsuite
Ian Lynagh [Wed, 6 Oct 2010 16:06:56 +0000 (16:06 +0000)]
Fix build following haskell98 and -fglasgow-exts changes
Ian Lynagh [Wed, 6 Oct 2010 13:02:35 +0000 (13:02 +0000)]
Don't automatically link the haskell98 package
The default language is now Haskell2010, so this was a little odd.
Also, --make is now on by default, so this was largely irrelevant.
Ian Lynagh [Wed, 6 Oct 2010 12:44:13 +0000 (12:44 +0000)]
Deprecate -fglasgow-exts
Ian Lynagh [Wed, 6 Oct 2010 12:20:00 +0000 (12:20 +0000)]
Remove Opt_GADTs and Opt_TypeFamilies from -fglasgow-exts
This means most code doesn't get caught by monomorphic local bindings.
simonpj@microsoft.com [Fri, 8 Oct 2010 13:57:47 +0000 (13:57 +0000)]
Fix Trac #4360: omitted case in combineCtLoc
simonpj@microsoft.com [Fri, 8 Oct 2010 13:37:51 +0000 (13:37 +0000)]
Beautiful new approach to the skolem-escape check and untouchable
Instead of keeping a *set* of untouchable variables in each
implication contraints, we keep a *range* of uniques for the
*touchable* variables of an implication. This are precisely
the ones we would call the "existentials" if we were French.
It turns out that the code is more efficient, and vastly easier
to get right, than the set-based approach.
Fixes Trac #4355 among others
simonpj@microsoft.com [Fri, 8 Oct 2010 13:35:42 +0000 (13:35 +0000)]
Do less simplification when doing let-generalisation
This fixes Trac #4361. In a rather delicate way, but
no more delicate than before. A more remoseless typechecker
would reject #4361 altogether.
See Note [Avoid unecessary constraint simplification]
simonpj@microsoft.com [Fri, 8 Oct 2010 11:13:18 +0000 (11:13 +0000)]
Suppress ambiguity errors if any other errors occur
simonpj@microsoft.com [Fri, 8 Oct 2010 11:12:27 +0000 (11:12 +0000)]
Fix Trac #4361: be more discerning when inferring types
Note [Avoid unecessary constraint simplification] in TcSimplify