summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Use test -f rather than test -eIan Lynagh2008-09-083-3/+3
| | | | Hopefully this will fix the SunOS builbot slave.
* Make a pdf, rather than ps.gz, of teh ext-core docsIan Lynagh2008-09-081-6/+12
|
* FIX BUILD on non-WindowsSimon Marlow2008-09-081-4/+5
|
* make this build with GHC 6.7+Simon Marlow2008-09-081-0/+3
|
* add (c) Lennart Augustsson (part of #740)Simon Marlow2008-09-081-0/+1
|
* sysErrorBelch: don't put an extra \n on WindowsSimon Marlow2008-09-031-0/+5
|
* Windows: print an error message in addDLLSimon Marlow2008-09-032-17/+28
| | | | | | | | Also, look for libXXX.dll in addition to XXX.dll (see #1883, this isn't really a proper fix, but it'll help in some cases). And I tidied up the error message for a DLL load failure, though it's still a bit of a mess because addDLL is supposed to return a (static) string with the error message, but this isn't possible on Windows.
* bindist fixesIan Lynagh2008-09-072-0/+9
|
* Fix the ext-core doc in bindistsIan Lynagh2008-09-072-0/+2
|
* Add extern flag to avoid multiple symbol errors on Mac os Xdaniel@phasevelocity.org2008-08-222-3/+3
|
* Type families: new algorithm to solve equalitiesManuel M T Chakravarty2008-09-074-62/+927
| | | | | | | | | | | - This adds the new equational solver based on the notion of normalised equalities. - The new algorithm is conceptually much simpler and will eventually enable us to implement a fully integrated solver that solves equality and dictionary constraints together. - More details are at <http://hackage.haskell.org/trac/ghc/wiki/TypeFunctionsSolving> - The code is there, but it is not being used yet.
* Don't build latex docs by defaultIan Lynagh2008-09-062-0/+7
| | | | "LATEX_DOCS = YES" enables them
* Now that haddock is in-tree, build haddock docs by defaultIan Lynagh2008-09-061-0/+3
|
* Add an explanation of the format of the packages file formatIan Lynagh2008-09-061-0/+15
|
* Install the stage 2 ghc package when installing; fixes trac #2567Ian Lynagh2008-09-064-34/+36
|
* Update the users guide to point at the in-tree core.ps.gzIan Lynagh2008-09-061-1/+1
| | | | | It used to point to a file on haskell.org, which didn't necessarily describe the right version of core.
* Compress the ext-core docsIan Lynagh2008-09-061-4/+7
|
* Install the ext-core docsIan Lynagh2008-09-061-1/+5
|
* Make ext-core when making all in docsIan Lynagh2008-09-061-1/+2
|
* Remove the haddock detectionIan Lynagh2008-09-053-33/+0
| | | | | Now that we build haddock in the GHC build, we don't need to look for it on the path.
* Add a comment to utils/MakefileIan Lynagh2008-09-051-0/+9
|
* Fix up the instance-declaration re-engineering storysimonpj@microsoft.com2008-09-051-50/+149
| | | | | | | | | | | | This patch deals with a rather complicated situation involving overlapping instances. It's all explained in the commments Note [Subtle interaction of recursion and overlap] The absence of this case make DoCon and regex-base fail with an error about overlapping instances. Now they work properly again.
* Comments onlysimonpj@microsoft.com2008-09-051-2/+3
|
* Minor refactoring to share InstEnv.instanceBindFunsimonpj@microsoft.com2008-09-052-32/+41
|
* Remove unused constructors AvoidMe, WildCardsimonpj@microsoft.com2008-09-051-16/+11
|
* More specialiser wibblessimonpj@microsoft.com2008-09-051-41/+79
| | | | | | | | | | | Several things * Only gather call details for local things, not imported ones * When making auxiliary dictionary bindings in specDefn, remember to give them an unfolding. Otherwise we don't gather call details for functions applied to them.
* Retain unfoldings even with SimplGentlysimonpj@microsoft.com2008-09-051-1/+4
| | | | | | | | | | When binding x = e, we now attach an unfolding to 'x' even if it won't be used because SimplGently is on. Reason: the specialiser runs right after SimplGently, and it (now) only gathers call information for calls whose dictionary arguments are "interesting" -- i.e. have an unfolding of some kind.
* Comments onlysimonpj@microsoft.com2008-09-051-0/+4
|
* Better debug panic messages in applyTyssimonpj@microsoft.com2008-09-052-6/+13
|
* Make ASSERT2 mention msg even when debug is off (avoid warnings)simonpj@microsoft.com2008-09-051-1/+1
|
* Move the "This is a generated file" to the top of GHC.PrimIan Lynagh2008-09-051-7/+7
|
* Make genprimopcode generate code that haddock 2 understandsIan Lynagh2008-09-051-10/+26
| | | | | | | Mainly this means adding a binding for all the exports, e.g. as well as gtAddr# :: Addr# -> Addr# -> Bool we also generate gtAddr# = let x = x in x
* Define _BSD_SOURCE in Stg.hIan Lynagh2008-09-041-1/+5
| | | | This means S_ISSOCK gets defined on Linux
* Add a note explaining a couple of seq'sIan Lynagh2008-09-041-3/+16
|
* fix message for missing packagesRoss Paterson2008-09-041-1/+1
| | | | An incorrect libraries/ prefix was being added.
* add assertion to check that UniqFM is only passed "positive" uniquesdias@eecs.harvard.edu2008-09-041-1/+21
| | | | | | | | | | | The insertion code in UniqFM fails if a unique key produces a negative FastInt. I've added an assertion to check that each insertion uses a positive Unique. Where do the negative uniques come from? Both Simom M and I have run into this problem when computing hashes for data structures. In both cases, we have avoided the problem by ensuring that the hashes remain positive.
* Add darcs-all usage infoIan Lynagh2008-09-041-0/+18
|
* Re-merge concurrent,timeout,unique,st,getopt into baseIan Lynagh2008-09-036-17/+2
|
* Fix ifBuildableIan Lynagh2008-09-031-1/+1
| | | | Required libraries now have 3 fields in the packages file, not 2
* Major change in compilation of instance declarations (fix Trac #955, #2328)simonpj@microsoft.com2008-09-0312-744/+551
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes an important change to the way that dictionary functions are handled. Before, they were unconditionally marked INLIINE, but all the code written by the user in the instance was inside that unconditionally-inlined function. Result: massive code bloat in programs that use complicated instances. This patch make instances behave rather as if all the methods were written in separate definitions. That dramatically reduces bloat. The new plan is described in TcInstDcls Note [How instance declarations are translated] Everything validates. The major code-bloat bug is squashed: in particular DoCon is fine now (Trac #2328) and I believe that #955 is also better. Nofib results: Binary sizes -1 s.d. +2.5% +1 s.d. +3.1% Average +2.8% Allocations -1 s.d. -6.4% +1 s.d. +2.5% Average -2.0% Note that 2% improvement. Some programs improve by 20% (rewrite)! Two get slightly worse: pic (2.1%), and gameteb (3.2%), but all others improve or stay the same. I am not absolutely 100% certain that all the corners are correct; for example, when default methods are marked INLINE, are they inlined? But overall it's better. It's nice that the patch also removes a lot of code. I deleted some out of date comments, but there's something like 100 fewer lines of code in the new version! (In the line counts below, there are a lot of new comments.)
* Improved specialisation of recursive groupssimonpj@microsoft.com2008-09-035-150/+222
| | | | | | | | | | | | | | | | | | | | | This patch significantly improves the way in which recursive groups are specialised. This turns out ot be very important when specilising the bindings that (now) emerge from instance declarations. Consider let rec { f x = ...g x'... ; g y = ...f y'.... } in f 'a' Here we specialise 'f' at Char; but that is very likely to lead to a specialisation of 'g' at Char. We must do the latter, else the whole point of specialisation is lost. This was not happening before. The whole thing is desribed in Note [Specialising a recursive group] Simon
* Cope with recent versions of Perl that lack the $* featuresimonpj@microsoft.com2008-09-021-3/+4
|
* FIX #2554: GHC.TopHandler.{runIO,runNonIO} should be GC rootsSimon Marlow2008-09-022-0/+10
|
* Check the modification times of libraries in --make link stepSimon Marlow2008-09-012-14/+54
| | | | | | | | | | | | When linking in --make we check the modification time of the executable against the modification time of the object files, and only re-link if any object file is newer. However, we should also check the modification times of packages, since the recompilation checker also tracks dependencies in packages. In a GHC build this means that if you recompile stage2 and don't manage to change any fingerpints, we won't recompile Main but we'll still re-link it.
* Make the dynlibs, ghci and ncg flags manual tooIan Lynagh2008-08-312-10/+6
|
* Squash a space leakIan Lynagh2008-08-301-4/+8
|
* Fix a space leakIan Lynagh2008-08-301-5/+3
|
* fix a space leakIan Lynagh2008-08-301-4/+5
|
* Make ghc.cabal's editline flag manual, to simplify the MakefileIan Lynagh2008-08-312-7/+3
|
* Don't build ghc in stage1 with editline (since we already don't build ghci). ↵Judah Jacobson2008-08-301-6/+1
| | | | Fixes #2557.