12 years agoFix #3741, simplifying things in the process
Simon Marlow [Thu, 10 Dec 2009 16:09:09 +0000 (16:09 +0000)]
Fix #3741, simplifying things in the process
The problem in #3741 was that we had confused column numbers with byte
offsets, which fails in the case of UTF-8 (amongst other things).
Fortunately we're tracking correct column offsets now, so we didn't
have to make a calculation based on a byte offset.  I got rid of two
fields from the PState (last_line_len and last_offs).and one field
from the AI (alex input) constructor.

12 years agoAllow spaces at either end of the C import spec (#3742)
Simon Marlow [Thu, 10 Dec 2009 12:45:37 +0000 (12:45 +0000)]
Allow spaces at either end of the C import spec (#3742)

12 years agoPut README and INSTALL into bindists
Ian Lynagh [Wed, 9 Dec 2009 17:43:05 +0000 (17:43 +0000)]
Put README and INSTALL into bindists
Also tidied up the way gets into bindists

12 years agoFix typo
Ian Lynagh [Wed, 9 Dec 2009 15:22:23 +0000 (15:22 +0000)]
Fix typo

12 years agoFix the stage1 version number munging
Ian Lynagh [Wed, 9 Dec 2009 15:17:15 +0000 (15:17 +0000)]
Fix the stage1 version number munging
It was munging 6.12.1 into 62

12 years agoAdd a comment about why $(CPP) is defined the way it is in
Ian Lynagh [Wed, 9 Dec 2009 13:19:17 +0000 (13:19 +0000)]
Add a comment about why $(CPP) is defined the way it is in

12 years agoadd a missing unlockTSO()
Simon Marlow [Wed, 9 Dec 2009 12:41:13 +0000 (12:41 +0000)]
add a missing unlockTSO()

12 years agoEliminate mkdependC
Ian Lynagh [Wed, 9 Dec 2009 12:39:29 +0000 (12:39 +0000)]
Eliminate mkdependC
We now just call gcc to get the dependencies directly

12 years agoChange some HC_OPTS to CC_OPTS, so they are used when making dependencies
Ian Lynagh [Tue, 8 Dec 2009 20:03:15 +0000 (20:03 +0000)]
Change some HC_OPTS to CC_OPTS, so they are used when making dependencies

12 years agoAdd -Iincludes to hp2ps's CC_OPTS
Ian Lynagh [Tue, 8 Dec 2009 17:57:18 +0000 (17:57 +0000)]
Add -Iincludes to hp2ps's CC_OPTS
Making C deps for hp2ps always failed, but we used to carry on regardless

12 years agoadd locking in mkWeakForeignEnv#
Simon Marlow [Tue, 8 Dec 2009 10:12:29 +0000 (10:12 +0000)]
add locking in mkWeakForeignEnv#

12 years agodeclare g0 (fixes compilation failure with -fvia-C)
Simon Marlow [Tue, 8 Dec 2009 10:09:25 +0000 (10:09 +0000)]
declare g0 (fixes compilation failure with -fvia-C)

12 years agosimplify weak pointer processing
Simon Marlow [Tue, 8 Dec 2009 09:48:22 +0000 (09:48 +0000)]
simplify weak pointer processing

12 years agosimplification/optimisation: update tso->bound->tso when scavenging the TSO
Simon Marlow [Tue, 8 Dec 2009 08:57:39 +0000 (08:57 +0000)]
simplification/optimisation: update tso->bound->tso when scavenging the TSO

12 years agothreadStackUnderflow: fix recently introduced bug (conc068(threaded1) failure)
Simon Marlow [Mon, 7 Dec 2009 17:01:27 +0000 (17:01 +0000)]
threadStackUnderflow: fix recently introduced bug (conc068(threaded1) failure)

bug introduced by "threadStackUnderflow: put the new TSO on the mut
list if necessary"

12 years agoneed locking around use of weak_ptr_list in mkWeak#
Simon Marlow [Mon, 7 Dec 2009 14:52:13 +0000 (14:52 +0000)]
need locking around use of weak_ptr_list in mkWeak#

12 years agoremove global 'total_allocated', seems to be the same as 'GC_tot_alloc'
Simon Marlow [Mon, 7 Dec 2009 11:53:59 +0000 (11:53 +0000)]
remove global 'total_allocated', seems to be the same as 'GC_tot_alloc'

12 years agoAdd some explanation about overlapping instances [Mon, 7 Dec 2009 15:39:15 +0000 (15:39 +0000)]
Add some explanation about overlapping instances

Trac #3734 suggested addding some extra guidance about
incoherence and overlap; now done

12 years agoTidy up deriving error messages [Mon, 7 Dec 2009 13:08:50 +0000 (13:08 +0000)]
Tidy up deriving error messages

I did this in response to a suggestion in Trac #3702

12 years agoFix profiling build
Simon Marlow [Mon, 7 Dec 2009 09:23:14 +0000 (09:23 +0000)]
Fix profiling build

12 years agoMinor refactoring to remove redundant code [Mon, 7 Dec 2009 08:33:12 +0000 (08:33 +0000)]
Minor refactoring to remove redundant code

12 years agoFix a nasty (and long-standing) FloatOut performance bug [Mon, 7 Dec 2009 08:32:46 +0000 (08:32 +0000)]
Fix a nasty (and long-standing) FloatOut performance bug

The effect was that, in deeply-nested applications, FloatOut would
take quadratic time.  A good example was compiling
in which FloatOut had a visible pause of a couple of seconds!
Profiling showed that 40% of the entire compile time was being
consumbed by the single function partitionByMajorLevel.

The bug was that the floating bindings (type FloatBinds) was kept
as a list, which was partitioned at each binding site.  In programs
with deeply nested lists, such as
       e1 : e2 : e3 : .... : e5000 : []
this led to quadratic behaviour.

The solution is to use a proper finite-map representation;
see the new definition of FloatBinds near the bottom of FloatOut.

12 years agoAdd a new to-do to cmm-notes [Mon, 7 Dec 2009 08:11:30 +0000 (08:11 +0000)]
Add a new to-do to cmm-notes

12 years agoComments only, principally about IfaceDeclExtras [Mon, 7 Dec 2009 08:11:08 +0000 (08:11 +0000)]
Comments only, principally about IfaceDeclExtras

12 years agoComments only, about RULE plumbing [Mon, 7 Dec 2009 08:04:42 +0000 (08:04 +0000)]
Comments only, about RULE plumbing

12 years agoAdd splitUFM to UniqFM (used in a forthcoming patch) [Fri, 4 Dec 2009 16:08:20 +0000 (16:08 +0000)]
Add splitUFM to UniqFM (used in a forthcoming patch)

splitUFM :: Uniquable key => UniqFM elt -> key -> (UniqFM elt, Maybe elt, UniqFM elt)
   -- Splits a UFM into things less than, equal to, and greater than the key

12 years agoAdd lengthBag to Bag (using in forthcoming patch) [Fri, 4 Dec 2009 15:50:55 +0000 (15:50 +0000)]
Add lengthBag to Bag (using in forthcoming patch)

12 years agoUse addToUFM_Acc where appropriate [Fri, 4 Dec 2009 15:50:36 +0000 (15:50 +0000)]
Use addToUFM_Acc where appropriate

This way of extending a UniqFM has existed for some time, but
we weren't really using it.

addToUFM_Acc :: Uniquable key =>
      (elt -> elts -> elts) -- Add to existing
   -> (elt -> elts) -- New element
   -> UniqFM elts  -- old
   -> key -> elt  -- new
   -> UniqFM elts -- result

12 years agoAdd comments to "OPTIONS_GHC -fno-warn-orphans" pragmas
Ian Lynagh [Sat, 5 Dec 2009 16:57:21 +0000 (16:57 +0000)]
Add comments to "OPTIONS_GHC -fno-warn-orphans" pragmas

12 years agoAdd some missing exports back for GHC package users; fixes trac #3715
Ian Lynagh [Sat, 5 Dec 2009 15:35:32 +0000 (15:35 +0000)]
Add some missing exports back for GHC package users; fixes trac #3715

12 years agoAdd some comments on the alternative layout rule state
Ian Lynagh [Sat, 5 Dec 2009 15:20:39 +0000 (15:20 +0000)]
Add some comments on the alternative layout rule state

12 years agoTweak layout for alternative layout rule
Ian Lynagh [Thu, 3 Dec 2009 16:44:24 +0000 (16:44 +0000)]
Tweak layout for alternative layout rule

12 years agoLink all dynamic libraries with the correct install_name on Mac OS/X.
Ian Lynagh [Fri, 4 Dec 2009 14:36:14 +0000 (14:36 +0000)]
Link all dynamic libraries with the correct install_name on Mac OS/X.
This is a rerecord of
    Stephen Blackheath <>**20090930222855
to avoid conflicts.

12 years agoDocument the new -dylib-install-name option in the user's guide.
Stephen Blackheath [Thu, 1 Oct 2009 05:16:37 +0000 (05:16 +0000)]
Document the new -dylib-install-name option in the user's guide.

12 years agoAdd -dylib-install-name option to GHC so the install name can be set for dynamic...
Stephen Blackheath [Wed, 30 Sep 2009 22:37:08 +0000 (22:37 +0000)]
Add -dylib-install-name option to GHC so the install name can be set for dynamic libs on Mac OS/X.

12 years agoForce -fPIC when linking against dynamic libraries on Mac OS/X.
Stephen Blackheath [Mon, 28 Sep 2009 20:38:00 +0000 (20:38 +0000)]
Force -fPIC when linking against dynamic libraries on Mac OS/X.
Otherwise you get
   non-relocatable subtraction expression, "___stginit_Lib_dyn" minus "L1x2;4"
   symbol: "___stginit_Lib_dyn" can't be undefined in a subtraction expression

12 years agoevaluate_large: evaluate large objects to bd->dest rather than gen->to
Simon Marlow [Fri, 4 Dec 2009 11:10:37 +0000 (11:10 +0000)]
evaluate_large: evaluate large objects to bd->dest rather than gen->to
This fixes aging of large objects in the new scheme.  Bug found by
perf/space_leaks/space_leak_001.  Yay perf regressions tests.

12 years agoCorrection to the allocation stats following earlier refactoring
Simon Marlow [Fri, 4 Dec 2009 11:08:39 +0000 (11:08 +0000)]
Correction to the allocation stats following earlier refactoring

12 years agoexport g0
Simon Marlow [Thu, 3 Dec 2009 16:52:09 +0000 (16:52 +0000)]
export g0

12 years agoGC refactoring, remove "steps"
Simon Marlow [Thu, 3 Dec 2009 15:07:28 +0000 (15:07 +0000)]
GC refactoring, remove "steps"

The GC had a two-level structure, G generations each of T steps.
Steps are for aging within a generation, mostly to avoid premature

Measurements show that more than 2 steps is almost never worthwhile,
and 1 step is usually worse than 2.  In theory fractional steps are
possible, so the ideal number of steps is somewhere between 1 and 3.
GHC's default has always been 2.

We can implement 2 steps quite straightforwardly by having each block
point to the generation to which objects in that block should be
promoted, so blocks in the nursery point to generation 0, and blocks
in gen 0 point to gen 1, and so on.

This commit removes the explicit step structures, merging generations
with steps, thus simplifying a lot of code.  Performance is
unaffected.  The tunable number of steps is now gone, although it may
be replaced in the future by a way to tune the aging in generation 0.

12 years agofix error message on Windows (fixes rtsflags001)
Simon Marlow [Wed, 2 Dec 2009 14:11:35 +0000 (14:11 +0000)]
fix error message on Windows (fixes rtsflags001)

12 years agoFix loading of annotations
Roman Leshchinskiy [Fri, 4 Dec 2009 02:42:59 +0000 (02:42 +0000)]
Fix loading of annotations

The problem was that we collected all annotations we knew about once when the
simplifier started and threaded them through the CoreM monad. If new interface
files were loaded during simplification, their annotations would not be
visible to the simplifier.

Now, we rebuild the annotation list at the start of every simplifier pass that
needs it (which is only SpecConstr at the moment). This ensures that we see
all annotations that have been loaded so far. This is somewhat similar to how
RULES are handled.

12 years agoAdd new ForceSpecConstr annotation
Roman Leshchinskiy [Thu, 3 Dec 2009 06:54:55 +0000 (06:54 +0000)]
Add new ForceSpecConstr annotation

Annotating a type with {-# ANN type T ForceSpecConstr #-} makes SpecConstr
ignore -fspec-constr-threshold and -fspec-constr-count for recursive functions
that have arguments of type T. Such functions will be specialised regardless
of their size and there is no upper bound on the number of specialisations
that can be generated. This also works if T is embedded in other types such as
Maybe T (but not T -> T).

T should not be a product type because it could be eliminated by the
worker/wrapper transformation. For instance, in

data T = T Int Int

foo :: T -> Int
foo (T m n) = ... foo (T m' n') ...

SpecConstr will never see the T because w/w will get rid of it. I'm still
thinking about whether fixing this is worthwhile.

12 years agoGenerate INLINE pragmas for PA methods
Roman Leshchinskiy [Thu, 3 Dec 2009 03:14:52 +0000 (03:14 +0000)]
Generate INLINE pragmas for PA methods

12 years agoAdd a GHC layout extension to the alternative layout rule
Ian Lynagh [Thu, 3 Dec 2009 15:57:08 +0000 (15:57 +0000)]
Add a GHC layout extension to the alternative layout rule

12 years agoFix HPC column numbers, following the column number changes in GHC
Ian Lynagh [Thu, 3 Dec 2009 13:55:20 +0000 (13:55 +0000)]
Fix HPC column numbers, following the column number changes in GHC

12 years agoWhitespace only
Ian Lynagh [Thu, 3 Dec 2009 13:22:59 +0000 (13:22 +0000)]
Whitespace only

12 years agoFix column numbers used when highlighting :list output
Ian Lynagh [Thu, 3 Dec 2009 13:03:28 +0000 (13:03 +0000)]
Fix column numbers used when highlighting :list output

12 years agoadd a missing lock around allocGroup()
Simon Marlow [Thu, 3 Dec 2009 11:02:09 +0000 (11:02 +0000)]
add a missing lock around allocGroup()

12 years agoremove unused cap->in_gc flag
Simon Marlow [Wed, 2 Dec 2009 15:42:40 +0000 (15:42 +0000)]
remove unused cap->in_gc flag

12 years agoRefactoring only
Simon Marlow [Wed, 2 Dec 2009 12:38:06 +0000 (12:38 +0000)]
Refactoring only

12 years agomove sanity checking code from Storage.c to Sanity.c
Simon Marlow [Wed, 2 Dec 2009 12:11:41 +0000 (12:11 +0000)]
move sanity checking code from Storage.c to Sanity.c

12 years agostg_ap_0_fast: sanity-check only the topmost frame, not the whole stack
Simon Marlow [Wed, 2 Dec 2009 11:51:09 +0000 (11:51 +0000)]
stg_ap_0_fast: sanity-check only the topmost frame, not the whole stack
Sanity checking was getting too slow in some cases, this returns it to
a constant-factor overhead.

12 years agoFix profiling build
Simon Marlow [Thu, 3 Dec 2009 08:59:30 +0000 (08:59 +0000)]
Fix profiling build

12 years agoMore work on the simplifier's inlining strategies [Wed, 2 Dec 2009 17:42:56 +0000 (17:42 +0000)]
More work on the simplifier's inlining strategies

This patch collects a small raft of related changes

* Arrange that during
     (a) rule matching and
     (b) uses of exprIsConApp_maybe
  we "look through" unfoldings only if they are active
  in the phase. Doing this for (a) required a bit of
  extra plumbing in the rule matching code, but I think
  it's worth it.

  One wrinkle is that even if inlining is off (in the 'gentle'
  phase of simplification) during rule matching we want to
  "look through" things with inlinings.
   See SimplUtils.activeUnfInRule.

  This fixes a long-standing bug, where things that were
  supposed to be (say) NOINLINE, could still be poked into
  via exprIsConApp_maybe.

* In the above cases, also check for (non-rule) loop breakers;
  we never look through these.  This fixes a bug that could make
  the simplifier diverge (and did for Roman).
  Test = simplCore/should_compile/dfun-loop

* Try harder not to choose a DFun as a loop breaker. This is
  just a small adjustment in the OccurAnal scoring function

* In the scoring function in OccurAnal, look at the InlineRule
  unfolding (if there is one) not the actual RHS, beause the
  former is what'll be inlined.

* Make the application of any function to dictionary arguments
  CONLIKE.  Thus (f d1 d2) is CONLIKE.
  Encapsulated in CoreUtils.isExpandableApp
  Reason: see Note [Expandable overloadings] in CoreUtils

* Make case expressions seem slightly smaller in CoreUnfold.
  This reverses an unexpected consequences of charging for

* Signficantly refactor the data type for Unfolding (again).
  The result is much nicer.

* Add type synonym BasicTypes.CompilerPhase = Int
  and use it

Many of the files touched by this patch are simply knock-on
consequences of these two refactorings.

12 years agoFix Trac #3100: reifyType [Mon, 30 Nov 2009 17:52:04 +0000 (17:52 +0000)]
Fix Trac #3100: reifyType

A type without any leading foralls may still have constraints
   eg:  ?x::Int => Int -> Int

But reifyType was failing in this case.

Merge to 6.12.

12 years agoFix Trac #3102: pre-matching polytypes [Mon, 30 Nov 2009 17:44:41 +0000 (17:44 +0000)]
Fix Trac #3102: pre-matching polytypes

When *pre-matching* two types
     forall a. C1 => t1  ~  forall a. C2 => t2
we were matching t1~t2, but totally ignoring C1,C2
That's utterly wrong when pre-matching
       (?p::Int) => String  ~  a
because we emerge with a:=String!

All this is part of the impredicative story, which is about
to go away, but still.

Worth merging this to 6.12

12 years agothreadStackUnderflow: put the new TSO on the mut list if necessary
Simon Marlow [Wed, 2 Dec 2009 14:45:49 +0000 (14:45 +0000)]
threadStackUnderflow: put the new TSO on the mut list if necessary

12 years agodon't sanity check the whole stack when switching interp<->compiled
Simon Marlow [Wed, 2 Dec 2009 13:41:21 +0000 (13:41 +0000)]
don't sanity check the whole stack when switching interp<->compiled

12 years agofix to sanity checking for ThreadRelocated TSOs
Simon Marlow [Wed, 2 Dec 2009 13:40:41 +0000 (13:40 +0000)]
fix to sanity checking for ThreadRelocated TSOs

12 years agosanity check the top stack frame, not the whole stack
Simon Marlow [Wed, 2 Dec 2009 13:40:20 +0000 (13:40 +0000)]
sanity check the top stack frame, not the whole stack

12 years agoMake allocatePinned use local storage, and other refactorings
Simon Marlow [Tue, 1 Dec 2009 16:03:21 +0000 (16:03 +0000)]
Make allocatePinned use local storage, and other refactorings

This is a batch of refactoring to remove some of the GC's global
state, as we move towards CPU-local GC.

  - allocateLocal() now allocates large objects into the local
    nursery, rather than taking a global lock and allocating
    then in gen 0 step 0.

  - allocatePinned() was still allocating from global storage and
    taking a lock each time, now it uses local storage.
    (mallocForeignPtrBytes should be faster with -threaded).

  - We had a gen 0 step 0, distinct from the nurseries, which are
    stored in a separate nurseries[] array.  This is slightly strange.
    I removed the g0s0 global that pointed to gen 0 step 0, and
    removed all uses of it.  I think now we don't use gen 0 step 0 at
    all, except possibly when there is only one generation.  Possibly
    more tidying up is needed here.

  - I removed the global allocate() function, and renamed
    allocateLocal() to allocate().

  - the alloc_blocks global is gone.  MAYBE_GC() and
    doYouWantToGC() now check the local nursery only.

12 years agoFree full_prog_argv at exit, closing a memory leak
Simon Marlow [Tue, 1 Dec 2009 12:28:01 +0000 (12:28 +0000)]
Free full_prog_argv at exit, closing a memory leak

12 years agofree cap->saved_mut_lists too
Simon Marlow [Tue, 1 Dec 2009 11:34:48 +0000 (11:34 +0000)]
free cap->saved_mut_lists too
fixes some memory leakage at shutdown

12 years agoexitScheduler: move boundTaskExiting call outside #ifdef THREADED_RTS
Simon Marlow [Tue, 1 Dec 2009 11:33:52 +0000 (11:33 +0000)]
exitScheduler: move boundTaskExiting call outside #ifdef THREADED_RTS
Fixes a little leaked memory at shutdown in non-threaded RTS

12 years agoUse dlltool from the in-tree mingw installation
Ian Lynagh [Tue, 1 Dec 2009 19:05:44 +0000 (19:05 +0000)]
Use dlltool from the in-tree mingw installation
We only use dlltool on Windows, and this way we don't require that
the user has it installed.

12 years agoFix Commentary link in the HACKING file; trac #3706
Ian Lynagh [Tue, 1 Dec 2009 15:01:49 +0000 (15:01 +0000)]
Fix Commentary link in the HACKING file; trac #3706

12 years agoAdd an entry fo the ghci command :run to the user guide
Ian Lynagh [Tue, 1 Dec 2009 17:33:39 +0000 (17:33 +0000)]
Add an entry fo the ghci command :run to the user guide

12 years agoFix typo in docs
Ian Lynagh [Tue, 1 Dec 2009 17:05:50 +0000 (17:05 +0000)]
Fix typo in docs

12 years agoDelay expansion of some makefile variables until they are available
Ian Lynagh [Tue, 1 Dec 2009 13:36:09 +0000 (13:36 +0000)]
Delay expansion of some makefile variables until they are available

12 years agoCall $(SED) rather than sed
Ian Lynagh [Tue, 1 Dec 2009 13:11:23 +0000 (13:11 +0000)]
Call $(SED) rather than sed

12 years agoLook for sed as gsed first
Ian Lynagh [Tue, 1 Dec 2009 13:07:41 +0000 (13:07 +0000)]
Look for sed as gsed first
Solaris's sed apparently doesn't understand [:space:]

12 years agoAvoid running empty for loops; fixes trac #3683
Ian Lynagh [Tue, 1 Dec 2009 12:59:27 +0000 (12:59 +0000)]
Avoid running empty for loops; fixes trac #3683
Solaris's sh gives
    /bin/sh: syntax error at line 1: `;' unexpected
when faced with something like
    for x in ; do ...; done
Patch from Christian Maeder.

12 years agoFix PS file generation
Simon Marlow [Tue, 1 Dec 2009 15:42:54 +0000 (15:42 +0000)]
Fix PS file generation
(the image doesn't work, but at least db2latex doesn't fall over)

12 years agoImplement a new heap-tuning option: -H
Simon Marlow [Mon, 30 Nov 2009 15:18:36 +0000 (15:18 +0000)]
Implement a new heap-tuning option: -H

-H alone causes the RTS to use a larger nursery, but without exceeding
the amount of memory that the application is already using.  It trades
off GC time against locality: the default setting is to use a
fixed-size 512k nursery, but this is sometimes worse than using a very
large nursery despite the worse locality.

Not all programs get faster, but some programs that use large heaps do
much better with -H.  e.g. this helps a lot with #3061 (binary-trees),
though not as much as specifying -H<large>.  Typically using -H<large>
is better than plain -H, because the runtime doesn't know ahead of
time how much memory you want to use.

Should -H be on by default?  I'm not sure, it makes some programs go
slower, but others go faster.

12 years agoStore a destination step in the block descriptor
Simon Marlow [Sun, 29 Nov 2009 16:42:51 +0000 (16:42 +0000)]
Store a destination step in the block descriptor
At the moment, this just saves a memory reference in the GC inner loop
(worth a percent or two of GC time).  Later, it will hopefully let me
experiment with partial steps, and simplifying the generation/step

12 years agoFix the prof_scc.png image in the profiling section (#3694)
Simon Marlow [Mon, 30 Nov 2009 13:27:03 +0000 (13:27 +0000)]
Fix the prof_scc.png image in the profiling section (#3694)

12 years agodocument 'recache' command in the help output (#3684)
Simon Marlow [Mon, 30 Nov 2009 12:20:40 +0000 (12:20 +0000)]
document 'recache' command in the help output (#3684)

12 years agoCheck whether the main function is actually exported (#414)
Simon Marlow [Mon, 30 Nov 2009 11:23:27 +0000 (11:23 +0000)]
Check whether the main function is actually exported (#414)

12 years agoAvoid using non-standard GNU tar option --force-local
Simon Marlow [Mon, 30 Nov 2009 11:26:05 +0000 (11:26 +0000)]
Avoid using non-standard GNU tar option --force-local

12 years agoReorder ALL_RTS_LIBS
Matthias Kilian [Sun, 15 Nov 2009 17:54:05 +0000 (17:54 +0000)]

ALL_RTS_LIBS is (ab)used for linking ghc when BootingFromHc=Yes,
which needs libHSrtsmain.a before libHSrts.a.

12 years agoUpdate dependencies
Ian Lynagh [Sun, 29 Nov 2009 16:55:34 +0000 (16:55 +0000)]
Update dependencies

12 years agoFollow Cabal changes
Ian Lynagh [Sun, 29 Nov 2009 16:51:41 +0000 (16:51 +0000)]
Follow Cabal changes

12 years agoTweak layout to work with alternative layout rule
Ian Lynagh [Sun, 29 Nov 2009 16:30:44 +0000 (16:30 +0000)]
Tweak layout to work with alternative layout rule

12 years agoTweak the alternative layout rule: {} contains commas
Ian Lynagh [Sun, 29 Nov 2009 15:54:54 +0000 (15:54 +0000)]
Tweak the alternative layout rule: {} contains commas

12 years agoCorrect the advanceSrcLoc calculation for tabs
Ian Lynagh [Sun, 29 Nov 2009 15:39:33 +0000 (15:39 +0000)]
Correct the advanceSrcLoc calculation for tabs
It was off-by-one

12 years agoTweak alternative layout rule
Ian Lynagh [Sun, 29 Nov 2009 15:23:23 +0000 (15:23 +0000)]
Tweak alternative layout rule

12 years agoMake the alternative layout rule cope with file pragmas
Ian Lynagh [Sun, 29 Nov 2009 14:58:40 +0000 (14:58 +0000)]
Make the alternative layout rule cope with file pragmas

12 years agoGive more informative error messages
Ian Lynagh [Sun, 29 Nov 2009 03:10:29 +0000 (03:10 +0000)]
Give more informative error messages
We used to just get
    ghc: panic! (the 'impossible' happened)
      (GHC version 6.13.20091128 for x86_64-unknown-linux):
        too few bytes. Failed reading at byte position 32753
with no indication of what was being parsed.

12 years agoTeach advanceSrcLoc about tab characters
Ian Lynagh [Sat, 28 Nov 2009 15:12:04 +0000 (15:12 +0000)]
Teach advanceSrcLoc about tab characters

12 years agoWhitespace only
Ian Lynagh [Sat, 28 Nov 2009 15:07:31 +0000 (15:07 +0000)]
Whitespace only

12 years agoColumns now start at 1, as lines already did
Ian Lynagh [Fri, 27 Nov 2009 22:40:50 +0000 (22:40 +0000)]
Columns now start at 1, as lines already did
Also corrected a couple of line 0's to line 1

12 years agoRemove configure tests on tarballs that no longer exist
Ian Lynagh [Fri, 27 Nov 2009 15:01:01 +0000 (15:01 +0000)]
Remove configure tests on tarballs that no longer exist

12 years agoImplement non-decreasing do indentation in the alternative layout rule
Ian Lynagh [Fri, 27 Nov 2009 01:19:32 +0000 (01:19 +0000)]
Implement non-decreasing do indentation in the alternative layout rule

12 years agoadd docs for Unicode entities in #2978
Simon Marlow [Wed, 25 Nov 2009 15:36:49 +0000 (15:36 +0000)]
add docs for Unicode entities in #2978

12 years agoApply patch from #2978: add more Unicode syntax
Simon Marlow [Fri, 18 Sep 2009 13:03:33 +0000 (13:03 +0000)]
Apply patch from #2978: add more Unicode syntax

12 years agoUse UTF-8 explicitly for InstalledPackageInfo
Simon Marlow [Wed, 25 Nov 2009 14:17:30 +0000 (14:17 +0000)]
Use UTF-8 explicitly for InstalledPackageInfo
So ghc-pkg register/update takes input in UTF-8, and ghc-pkg dump
outputs in UTF-8.  Textual package config files in the package DB are
assumed to be in UTF-8.

12 years agoComments only, esp about RecStmts [Thu, 26 Nov 2009 16:32:41 +0000 (16:32 +0000)]
Comments only, esp about RecStmts

12 years agoFix a bug in alternative layout rule
Ian Lynagh [Wed, 25 Nov 2009 23:19:01 +0000 (23:19 +0000)]
Fix a bug in alternative layout rule

12 years agoFix a bug in alternative layout
Ian Lynagh [Wed, 25 Nov 2009 23:06:16 +0000 (23:06 +0000)]
Fix a bug in alternative layout
And make the code simpler in the process!