11 years agoComments only [Wed, 10 Feb 2010 09:45:37 +0000 (09:45 +0000)]
Comments only

11 years agoSimplify syntax for quasi-quotation [Wed, 10 Feb 2010 09:44:19 +0000 (09:44 +0000)]
Simplify syntax for quasi-quotation

After some discussion we decided to make a quasi-quote look like

   [pads| ...blah... |]

rather than

   [$pads| ...blah... |]

as before. The new syntax is quieter, although it does not signal
quite as clearly that there is a splice going on.

11 years agoSeveral TH/quasiquote changes [Wed, 10 Feb 2010 09:39:10 +0000 (09:39 +0000)]
Several TH/quasiquote changes

a) Added quasi-quote forms for
   e.g.   f :: [$qq| ... |]

b) Allow Template Haskell pattern quotes (but not splices)
   e.g.  f x = [p| Int -> $x |]

c) Improve pretty-printing for HsPat to remove superfluous
   parens.  (This isn't TH related really, but it affects
   some of the same code.)

A consequence of (a) is that when gathering and grouping declarations
in RnSource.findSplice, we must expand quasiquotes as we do so.
Otherwise it's all fairly straightforward.  I did a little bit of
refactoring in TcSplice.

User-manual changes still to come.

11 years agogenerate slightly better code for ccall argument-pushing on x86
Simon Marlow [Tue, 9 Feb 2010 10:11:14 +0000 (10:11 +0000)]
generate slightly better code for ccall argument-pushing on x86

11 years ago--lazy overrides --partial too
Simon Marlow [Tue, 9 Feb 2010 09:39:27 +0000 (09:39 +0000)]
--lazy overrides --partial too
At least until we switch to --lazy being the default

11 years agoFix Trac #3850 [Mon, 8 Feb 2010 16:37:51 +0000 (16:37 +0000)]
Fix Trac #3850

This patch simply avoids a needless difference in behaviour from
6.10, and one that happens to affect HList. See Note [Stupid theta].

11 years agoFix a bug introduced in the SSE2 support: callClobberedRegs was wrong
Simon Marlow [Fri, 5 Feb 2010 11:29:38 +0000 (11:29 +0000)]
Fix a bug introduced in the SSE2 support: callClobberedRegs was wrong

11 years agoImplement SSE2 floating-point support in the x86 native code generator (#594)
Simon Marlow [Thu, 4 Feb 2010 10:48:49 +0000 (10:48 +0000)]
Implement SSE2 floating-point support in the x86 native code generator (#594)

The new flag -msse2 enables code generation for SSE2 on x86.  It
results in substantially faster floating-point performance; the main
reason for doing this was that our x87 code generation is appallingly
bad, and since we plan to drop -fvia-C soon, we need a way to generate
half-decent floating-point code.

The catch is that SSE2 is only available on CPUs that support it (P4+,
AMD K8+).  We'll have to think hard about whether we should enable it
by default for the libraries we ship.  In the meantime, at least
-msse2 should be an acceptable replacement for "-fvia-C
-optc-ffast-math -fexcess-precision".

SSE2 also has the advantage of performing all operations at the
correct precision, so floating-point results are consistent with other

I also tweaked the x87 code generation a bit while I was here, now
it's slighlty less bad than before.

11 years agoadd libraries/binary
Simon Marlow [Wed, 3 Feb 2010 13:54:21 +0000 (13:54 +0000)]
add libraries/binary

11 years agoadd comment for srt_bitmap field
Simon Marlow [Wed, 3 Feb 2010 10:34:31 +0000 (10:34 +0000)]
add comment for srt_bitmap field

11 years agoUse bash to run boot-pkgs, the default Solaris shell doesn't support the -ot test... [Wed, 3 Feb 2010 03:07:48 +0000 (03:07 +0000)]
Use bash to run boot-pkgs, the default Solaris shell doesn't support the -ot test flag

11 years agoDisable -Wcast-align when building the rts [Wed, 3 Feb 2010 02:46:05 +0000 (02:46 +0000)]
Disable -Wcast-align when building the rts
This flag seems buggy on GCC 4.1.2, which is the only GCC version we
have that can bootstrap the SPARC build. We end up with lots of supurious
warnings of the form "cast increases required alignment of target type".
Some legitimate warnings can be fixed by adding an intermediate cast to
(void*), but we get others in rts/sm/GCUtils.c concerning the gct var
that look innocuous to me. We could enable this again once we deprecate
support for registerised builds on this arch.

11 years agoStifle warning about printf format strings [Wed, 3 Feb 2010 02:31:24 +0000 (02:31 +0000)]
Stifle warning about printf format strings

11 years agoCast to (void*) to stifle warning about signedness [Wed, 3 Feb 2010 02:30:29 +0000 (02:30 +0000)]
Cast to (void*) to stifle warning about signedness

11 years agoAdd missing import sm_mutex, which fixes the -fvia-c build [Tue, 2 Feb 2010 05:14:51 +0000 (05:14 +0000)]
Add missing import sm_mutex, which fixes the -fvia-c build

11 years agoFix typo in error message (#3848)
Simon Marlow [Sat, 30 Jan 2010 09:46:28 +0000 (09:46 +0000)]
Fix typo in error message (#3848)

11 years agoFix Trac #3831: blowup in SpecConstr [Mon, 1 Feb 2010 00:24:20 +0000 (00:24 +0000)]
Fix Trac #3831: blowup in SpecConstr

It turned out that there were two bugs.  First, we were getting an
exponential number of specialisations when we had a deep nest of
join points.  See Note [Avoiding exponential blowup]. I fixed this
by dividing sc_count (in ScEnv) by the number of specialisations
when recursing.  Crude but effective.

Second, when making specialisations I was looking at the result of
applying specExpr to the RHS of the function, whereas I should have
been looking at the original RHS.  See Note [Specialise original

There's a tantalising missed opportunity here, though.  In this
example (recorded as a test simplCore/should_compile/T3831), each join
point has *exactly one* call pattern, so we should really just
specialise for that alone, in which case there's zero code-blow-up.
In particular, we don't need the *original* RHS at all.  I need to think
more about how to exploit this.

But the blowup is now limited, so compiling terminfo with -O2 works again.

11 years agoRe-read pragmas after preprocessing (#2464, #3674, #3457)
Simon Marlow [Fri, 29 Jan 2010 11:40:50 +0000 (11:40 +0000)]
Re-read pragmas after preprocessing (#2464, #3674, #3457)
This was a lot easier than I imagined.

11 years agotweak the totally-bogus arbitrary stack-squeezing heuristic to fix #2797
Simon Marlow [Thu, 28 Jan 2010 12:44:54 +0000 (12:44 +0000)]
tweak the totally-bogus arbitrary stack-squeezing heuristic to fix #2797
In #2797, a program that ran in constant stack space when compiled
needed linear stack space when interpreted.  It turned out to be
nothing more than stack-squeezing not happening.  We have a heuristic
to avoid stack-squeezing when it would be too expensive (shuffling a
large amount of memory to save a few words), but in some cases even
expensive stack-squeezing is necessary to avoid linear stack usage.
One day we should implement stack chunks, which would make this less

11 years agofix warning on Windows
Simon Marlow [Wed, 27 Jan 2010 16:29:54 +0000 (16:29 +0000)]
fix warning on Windows

11 years agofix Windows build (GHC.Conc.runHandlers is Unix-only)
Simon Marlow [Wed, 27 Jan 2010 14:57:18 +0000 (14:57 +0000)]
fix Windows build (GHC.Conc.runHandlers is Unix-only)

11 years agoDon't Terminate the ticker thread (#3748)
Simon Marlow [Wed, 27 Jan 2010 13:54:30 +0000 (13:54 +0000)]
Don't Terminate the ticker thread (#3748)

11 years agoWin32 yieldThread(): use SwitchToThread() instead of Sleep(0)
Simon Marlow [Wed, 27 Jan 2010 13:31:06 +0000 (13:31 +0000)]
Win32 yieldThread(): use SwitchToThread() instead of Sleep(0)

11 years agofix warnings
Simon Marlow [Wed, 27 Jan 2010 13:30:40 +0000 (13:30 +0000)]
fix warnings

11 years agocatch SIGHUP and SIGTERM and raise an exception (#3656)
Simon Marlow [Wed, 27 Jan 2010 14:04:38 +0000 (14:04 +0000)]
catch SIGHUP and SIGTERM and raise an exception (#3656)

11 years agodefine INFINITY and NAN if they don't exist (#2929)
Simon Marlow [Wed, 27 Jan 2010 13:36:32 +0000 (13:36 +0000)]
define INFINITY and NAN if they don't exist (#2929)

11 years agoremove suspicious whitespace-only lines
Simon Marlow [Wed, 27 Jan 2010 13:30:08 +0000 (13:30 +0000)]
remove suspicious whitespace-only lines

11 years agoaddCoverageTicksToBinds: tolerate a non-existent .hs file (#3803)
Simon Marlow [Wed, 27 Jan 2010 11:32:05 +0000 (11:32 +0000)]
addCoverageTicksToBinds: tolerate a non-existent .hs file (#3803)

11 years agoavoid using non-standard %zd format specifier (#3804)
Simon Marlow [Tue, 26 Jan 2010 16:33:22 +0000 (16:33 +0000)]
avoid using non-standard %zd format specifier (#3804)

11 years agoFix signal segfaults on Solaris (#3790)
Simon Marlow [Tue, 26 Jan 2010 15:54:49 +0000 (15:54 +0000)]
Fix signal segfaults on Solaris (#3790)

11 years agocomment-out an incorrect assertion
Simon Marlow [Tue, 26 Jan 2010 15:01:03 +0000 (15:01 +0000)]
comment-out an incorrect assertion

11 years agoFix a deadlock, and possibly other problems
Simon Marlow [Tue, 26 Jan 2010 15:00:37 +0000 (15:00 +0000)]
Fix a deadlock, and possibly other problems
After a bound thread had completed, its TSO remains in the heap until
it has been GC'd, although the associated Task is returned to the
caller where it is freed and possibly re-used.

The bug was that GC was following the pointer to the Task and updating
the TSO field, meanwhile the Task had already been recycled (it was
being used by exitScheduler()). Confusion ensued, leading to a very
occasional deadlock at shutdown, but in principle it could result in
other crashes too.

The fix is to remove the link between the TSO and the Task when the
TSO has completed and the call to schedule() has returned; see
comments in Schedule.c.

11 years agoWhen acquiring a spinlock, yieldThread() every 1000 spins (#3553, #3758)
Simon Marlow [Fri, 22 Jan 2010 16:49:11 +0000 (16:49 +0000)]
When acquiring a spinlock, yieldThread() every 1000 spins (#3553, #3758)

This helps when the thread holding the lock has been descheduled,
which is the main cause of the "last-core slowdown" problem.  With
this patch, I get much better results with -N8 on an 8-core box,
although some benchmarks are still worse than with 7 cores.

I also added a yieldThread() into the any_work() loop of the parallel
GC when it has no work to do. Oddly, this seems to improve performance
on the parallel GC benchmarks even when all the cores are busy.
Perhaps it is due to reducing contention on the memory bus.

11 years ago'store' should be static (#3835)
Simon Marlow [Fri, 22 Jan 2010 16:48:34 +0000 (16:48 +0000)]
'store' should be static (#3835)

11 years agoAdd some missing getStablePtr()s for CAFs that the RTS refers to
Simon Marlow [Fri, 22 Jan 2010 14:36:58 +0000 (14:36 +0000)]
Add some missing getStablePtr()s for CAFs that the RTS refers to

A recent patch ("Refactor CoreArity a bit") changed the arity of
GHC.Conc.runSparks such that it became a CAF, and the RTS was not
explicitly retaining it, which led to a crash when the CAF got GC'd.
While fixing this I found a couple of other closures that the RTS
refers to which weren't getting the correct CAF treatment.

11 years agoRemove an out-of-date comment
Ian Lynagh [Fri, 22 Jan 2010 13:08:53 +0000 (13:08 +0000)]
Remove an out-of-date comment

11 years agofix build on Windows
Simon Marlow [Fri, 22 Jan 2010 12:10:16 +0000 (12:10 +0000)]
fix build on Windows

11 years agofix warning on Windows
Simon Marlow [Fri, 22 Jan 2010 12:03:28 +0000 (12:03 +0000)]
fix warning on Windows

12 years agoFix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)
Simon Marlow [Tue, 19 Jan 2010 10:38:25 +0000 (10:38 +0000)]
Fix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)
In 6.14.1 we'll switch these primops to return the exact byte size,
but for 6.12.2 we need to fix the docs.

11 years agoInclude regex.h in Linker.c on OS X too
Ian Lynagh [Wed, 20 Jan 2010 20:19:58 +0000 (20:19 +0000)]
Include regex.h in Linker.c on OS X too

11 years agoWe no longer need a prototype for __eprintf
Ian Lynagh [Wed, 20 Jan 2010 19:50:24 +0000 (19:50 +0000)]
We no longer need a prototype for __eprintf
It looks like it was only needed on OSX, but it has a prototype in
assert.h which now gets #included.

11 years agoFix build
Ian Lynagh [Wed, 20 Jan 2010 16:31:01 +0000 (16:31 +0000)]
Fix build
Remove a prototype of a function that wasn't defined

12 years agoFIX #2615 (linker scripts in .so files) [Wed, 16 Dec 2009 18:51:55 +0000 (18:51 +0000)]
FIX #2615 (linker scripts in .so files)
This patch does not apply to Windows. It only applies to systems with
ELF binaries.

This is a patch to rts/Linker.c to recognize linker scripts in .so
files and find the real target .so shared library for loading.

12 years agoFix Trac #3813: unused variables in GHCi bindings [Wed, 20 Jan 2010 09:45:33 +0000 (09:45 +0000)]
Fix Trac #3813: unused variables in GHCi bindings

In a GHCi stmt we don't want to report unused variables,
because we don't know the scope of the binding, eg

Prelude> x <- blah

Fixing this needed a little more info about the context of the stmt,
thus the new constructor GhciStmt in the HsStmtContext type.

12 years agoFix Trac #3823, plus warning police in TcRnDriver [Wed, 20 Jan 2010 09:42:21 +0000 (09:42 +0000)]
Fix Trac #3823, plus warning police in TcRnDriver

The immediate reason for this patch is to fix #3823. This was
rather easy: all the work was being done but I was returning
type_env2 rather than type_env3.

An unused-veriable warning would have shown this up, so I fixed all
the other warnings in TcRnDriver.  Doing so showed up at least two
genuine lurking bugs.  Hurrah.

12 years agoChange how RTS libraries get installed; fixes trac #3794
Ian Lynagh [Tue, 19 Jan 2010 23:26:23 +0000 (23:26 +0000)]
Change how RTS libraries get installed; fixes trac #3794

12 years agoEscape some more $s in makefiles, for consistency
Ian Lynagh [Tue, 19 Jan 2010 22:55:33 +0000 (22:55 +0000)]
Escape some more $s in makefiles, for consistency

12 years agoEscape some $s in makefiles for consistency
Ian Lynagh [Tue, 19 Jan 2010 22:14:40 +0000 (22:14 +0000)]
Escape some $s in makefiles for consistency

12 years agoAllow GNU-standard --host, --build, --target configure options (#3637)
Simon Marlow [Tue, 19 Jan 2010 10:28:19 +0000 (10:28 +0000)]
Allow GNU-standard --host, --build, --target configure options (#3637)
Patch contributed by

12 years agoUpdate some comments about how autoconf/configure works
Ian Lynagh [Mon, 18 Jan 2010 14:59:59 +0000 (14:59 +0000)]
Update some comments about how autoconf/configure works

12 years agoFix a warning message
Ian Lynagh [Mon, 18 Jan 2010 14:20:20 +0000 (14:20 +0000)]
Fix a warning message
We were printing the wrong value, so getting confusing messages like:
    Function `$wa{v s17LO} [lid]'
        has 2 call pattterns, but the limit is 3

12 years agoTeach the alternative layout rule about mdo and rec
Ian Lynagh [Sat, 16 Jan 2010 21:55:45 +0000 (21:55 +0000)]
Teach the alternative layout rule about mdo and rec

12 years agoTeach the alternative layout rule about $( ... )
Ian Lynagh [Sat, 16 Jan 2010 21:39:41 +0000 (21:39 +0000)]
Teach the alternative layout rule about $( ... )
It thought the ) needed to close something, but the $( hadn't
opened anything.

12 years agoFix typo
Ian Lynagh [Sat, 16 Jan 2010 13:49:15 +0000 (13:49 +0000)]
Fix typo

12 years agoRemove declaration of non-existent mark_splim
Simon Marlow [Thu, 31 Dec 2009 10:42:41 +0000 (10:42 +0000)]
Remove declaration of non-existent mark_splim

12 years agofix a comment
Simon Marlow [Wed, 30 Dec 2009 15:08:52 +0000 (15:08 +0000)]
fix a comment

12 years agoremove an unnecessary debug trace, duplicated by a traceSchedEvent
Simon Marlow [Wed, 30 Dec 2009 15:08:32 +0000 (15:08 +0000)]
remove an unnecessary debug trace, duplicated by a traceSchedEvent

12 years agohide modules properly with haddock
Simon Marlow [Wed, 13 Jan 2010 21:03:11 +0000 (21:03 +0000)]
hide modules properly with haddock

12 years agofix for HSCOLOUR_SRCS=NO
Simon Marlow [Wed, 13 Jan 2010 19:15:55 +0000 (19:15 +0000)]

12 years agoDo some recompilation avoidance in GHC.loadModule
Simon Marlow [Tue, 12 Jan 2010 22:58:53 +0000 (22:58 +0000)]
Do some recompilation avoidance in GHC.loadModule
GHC.loadModule compiles a module after it has been parsed and
typechecked explicity. If we are compiling to object code and there is
a valid object file already on disk, then we can skip the compilation
step. This is useful in Haddock, when processing a package that uses
Template Haskell and hence needs actual compilation, and the package
has already been compiled.

As usual, the recomp avoidance can be disabled with -fforce-recomp.

12 years agoInvoke Haddock directly from the build system, instead of via Cabal
Simon Marlow [Tue, 12 Jan 2010 22:55:48 +0000 (22:55 +0000)]
Invoke Haddock directly from the build system, instead of via Cabal

Partly this is cleaner as we only have to preprocess the source files
once, but also it is necessary to avoid Haddock recompiling source
files when Template Haskell is in use, saving some time in validate
and fixing a problem whereby when HADDOCK_DOCS=YES, make always
re-haddocks the DPH packages.  This also needs an additional fix to

HsColour support still uses Cabal, and hence preprocesses the source
files again. We could move this into the build system too, but there
is a version dependency that would mean adding extra autoconf stuff.

12 years agorefactoring while I try to make sense of the hsc interface
Simon Marlow [Mon, 4 Jan 2010 11:28:33 +0000 (11:28 +0000)]
refactoring while I try to make sense of the hsc interface

12 years agoFix running in-place gen_contents_index; trac #3716
Ian Lynagh [Fri, 8 Jan 2010 13:34:16 +0000 (13:34 +0000)]
Fix running in-place gen_contents_index; trac #3716
It was making incorrect URLs due to a shell script error.

12 years agoRespect SPECIALISE pragmas even for apparently-non-overloaded things [Fri, 8 Jan 2010 08:45:47 +0000 (08:45 +0000)]
Respect SPECIALISE pragmas even for apparently-non-overloaded things

This is an implementation matter really (the key word is "apparently"!).
See Note [Specialising in no-dict case] in DsBinds.

It showed up when compiling GHC.Float.

12 years agoComment out debug warnings; they are fine [Fri, 8 Jan 2010 08:44:28 +0000 (08:44 +0000)]
Comment out debug warnings; they are fine

12 years agoImprove error locations [Thu, 7 Jan 2010 15:32:34 +0000 (15:32 +0000)]
Improve error locations

More on Trac #597

12 years agoSpelling error in comment [Thu, 7 Jan 2010 15:11:27 +0000 (15:11 +0000)]
Spelling error in comment

12 years agoA little refactoring, plus improve error locations [Thu, 7 Jan 2010 15:11:13 +0000 (15:11 +0000)]
A little refactoring, plus improve error locations

Fixes some sub-items of Trac #597

12 years agoClarify error message (Trac #3805) [Thu, 7 Jan 2010 15:10:02 +0000 (15:10 +0000)]
Clarify error message (Trac #3805)

12 years agoComments only [Thu, 7 Jan 2010 15:09:39 +0000 (15:09 +0000)]
Comments only

12 years agoSpecConstr: Remove -fspec-inline-join-points, and add let-binding specialisation [Wed, 6 Jan 2010 16:52:51 +0000 (16:52 +0000)]
SpecConstr: Remove -fspec-inline-join-points, and add let-binding specialisation

The -fspec-inline-join-point thing was a gross hack intended to help
Roman play around, but he's not using it and it was a terribly blunt
instrument so I've nuked it.

Instead I've re-instated the let-binding specialiser.
See Note [Local let bindings]

12 years agoMake SpecConstr more informative output when there are too many specialisations [Wed, 6 Jan 2010 16:10:26 +0000 (16:10 +0000)]
Make SpecConstr more informative output when there are too many specialisations

It now says something like

    Function `happyDoAction'
      has 17 call pattterns, but the limit is 3
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations

Previously it just silently did no specialisation

12 years agoMake view patterns right-associate [Wed, 6 Jan 2010 16:06:42 +0000 (16:06 +0000)]
Make view patterns right-associate

So that you can write

   f (v1 -> v2 -> pat)

12 years agoImprove the handling of default methods [Wed, 6 Jan 2010 16:06:03 +0000 (16:06 +0000)]
Improve the handling of default methods

See the long Note [INLINE and default methods].

This patch changes a couple of data types, with a knock-on effect on
the format of interface files.  A lot of files get touched, but is a
relatively minor change.  The main tiresome bit is the extra plumbing
to communicate default methods between the type checker and the

12 years agoPatch for shared libraries support on FreeBSD
Ian Lynagh [Wed, 6 Jan 2010 18:53:21 +0000 (18:53 +0000)]
Patch for shared libraries support on FreeBSD
From Maxime Henrion <>

12 years agoFollowing Simon M's "take newCAF() out from sm_mutex" patch [Tue, 5 Jan 2010 21:15:43 +0000 (21:15 +0000)]
Following Simon M's "take newCAF() out from sm_mutex" patch

12 years agoVery minor refactoring [Tue, 5 Jan 2010 10:18:33 +0000 (10:18 +0000)]
Very minor refactoring

12 years agoUndo the fix for Trac #3772 and do it a new way [Tue, 5 Jan 2010 10:16:00 +0000 (10:16 +0000)]
Undo the fix for Trac #3772 and do it a new way

The main idea is that I'm now treating a single-method dictionary very
much like a multi-method dictionary.  In particular, it respond to
exprIsConApp_maybe, even though newtypes aren't *really* proper

See long comments with Note [Single-method classes] for why
this slight hack is justified.

12 years agoFix warnings [Tue, 5 Jan 2010 10:09:45 +0000 (10:09 +0000)]
Fix warnings

12 years agoImprove error message (idea in Trac #3805) [Tue, 5 Jan 2010 09:55:32 +0000 (09:55 +0000)]
Improve error message (idea in Trac #3805)

If we see

   foreign export ccall foo :: ...blah...

we now use the "foreign" to suggest -XForeignFunctionInterface

12 years agoComments only [Tue, 5 Jan 2010 09:53:56 +0000 (09:53 +0000)]
Comments only

12 years agoContinue refactoring the core-to-core pipeline [Thu, 24 Dec 2009 15:46:43 +0000 (15:46 +0000)]
Continue refactoring the core-to-core pipeline

This patch mainly concerns the plumbing for running
the passes and printing intermediate output

12 years agoA bunch of stuff relating to substitutions on core [Thu, 24 Dec 2009 15:39:49 +0000 (15:39 +0000)]
A bunch of stuff relating to substitutions on core

* I was debugging so I added some call-site info
  (that touches a lot of code)

* I used substExpr a bit less in Simplify, hoping to
  make the simplifier a little faster and cleaner

12 years agoRefactor CoreArity a bit [Thu, 24 Dec 2009 15:34:48 +0000 (15:34 +0000)]
Refactor CoreArity a bit

I was experimenting with making coercions opaque to
arity.  I think this is ultimately the right thing to do
but I've left the functionality unchanged for now.

12 years agoWibbles to inlining for small functions [Tue, 22 Dec 2009 16:27:31 +0000 (16:27 +0000)]
Wibbles to inlining for small functions

See Note [INLINE for small functions]

12 years agoPrint out a bit more info with the "arity decrease" waring [Tue, 22 Dec 2009 16:26:06 +0000 (16:26 +0000)]
Print out a bit more info with the "arity decrease" waring

12 years agoMove isDictTy from TcType to Type [Tue, 22 Dec 2009 16:25:50 +0000 (16:25 +0000)]
Move isDictTy from TcType to Type

12 years agoAllow instance heads to use infix syntax [Tue, 22 Dec 2009 16:23:25 +0000 (16:23 +0000)]
Allow instance heads to use infix syntax

  class C a b
  instance Int `C` Bool

This was accidentally disallowed before.

12 years agoFix pretty-printer [Tue, 22 Dec 2009 16:21:30 +0000 (16:21 +0000)]
Fix pretty-printer

12 years agoFix Trac #3792: check for qualified names in import items [Mon, 4 Jan 2010 21:59:50 +0000 (21:59 +0000)]
Fix Trac #3792: check for qualified names in import items

12 years agoFix bugs in STG Lint [Mon, 4 Jan 2010 21:46:59 +0000 (21:46 +0000)]
Fix bugs in STG Lint

The Stg Lint failure reported in Trac #3789 were bogus.
This patch fixes STG Lint, which must have been unused
for ages.

12 years agoRefactor PackageTarget back into StaticTarget [Mon, 4 Jan 2010 03:15:06 +0000 (03:15 +0000)]
Refactor PackageTarget back into StaticTarget

12 years agoFollow PackageTarget changes in pprCEntity [Sat, 2 Jan 2010 23:50:53 +0000 (23:50 +0000)]
Follow PackageTarget changes in pprCEntity

12 years agoAssume CmmLabels have dynamic linkage on non-Windows [Sat, 2 Jan 2010 10:03:34 +0000 (10:03 +0000)]
Assume CmmLabels have dynamic linkage on non-Windows

12 years agoFollow PackageTarget change in byte code generator [Sat, 2 Jan 2010 09:30:46 +0000 (09:30 +0000)]
Follow PackageTarget change in byte code generator

12 years agoWhen compiling viac, don't need to emit prototypes for symbols in the RTS [Sat, 2 Jan 2010 09:29:57 +0000 (09:29 +0000)]
When compiling viac, don't need to emit prototypes for symbols in the RTS

12 years agoFollow ForeignLabel changes in PPC NCG [Sat, 2 Jan 2010 06:23:15 +0000 (06:23 +0000)]
Follow ForeignLabel changes in PPC NCG

12 years agoTag ForeignCalls with the package they correspond to [Sat, 2 Jan 2010 05:37:54 +0000 (05:37 +0000)]
Tag ForeignCalls with the package they correspond to

12 years agoNicer panic message [Tue, 29 Dec 2009 10:35:18 +0000 (10:35 +0000)]
Nicer panic message

12 years agoTypo in comment [Tue, 29 Dec 2009 05:18:58 +0000 (05:18 +0000)]
Typo in comment