summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Use -f rather than -e for portabilityIan Lynagh2008-09-211-1/+1
|
* Add some special cases for putting dph in bindistsIan Lynagh2008-09-211-1/+1
|
* Escape a hash in the Makefile (it was breaking source dist creation)Ian Lynagh2008-09-201-1/+1
|
* Disallow package flags in OPTIONS_GHC pragmas (#2499)Simon Marlow2008-09-233-19/+41
|
* #2566: emit a warning for 'ghc -c foo.bar'Simon Marlow2008-09-231-2/+9
| | | | | | | $ ghc -c foo.bar Warning: the following files would be used as linker inputs, but linking is not being done: foo.bar ghc: no input files Usage: For basic information, try the `--help' option.
* Fix to new executable allocation code (fixed print002 etc.)Simon Marlow2008-09-222-21/+24
| | | | | | | | | | The problem here is caused by the fact that info tables include a relative offset to the string naming the constructor. Executable memory now resides at two places in the address space: one for writing and one for executing. In the info tables generated by GHCi, we were calculating the offset relative to the writable instance, rather than the executable instance, which meant that the GHCi debugger couldn't find the names for constructors it found in the heap.
* clean sm/Evac_thr.c and sm/Scav_thr.cSimon Marlow2008-09-221-0/+1
|
* add -XNewQualifiedOperators (Haskell' qualified operator syntax)Simon Marlow2008-09-224-29/+121
|
* Fix Trac #2597 (first bug): correct type checking for empty listsimonpj@microsoft.com2008-09-201-1/+10
| | | | | | The GHC front end never generates (ExplicitList []), but TH can. This patch makes the typechecker robust to such programs.
* Fix Trac #2597 (second bug): complain about an empty DoE blocksimonpj@microsoft.com2008-09-201-2/+4
| | | | | | When converting an empty do-block from TH syntax to HsSyn, complain rather than crashing.
* Update dependenciesIan Lynagh2008-09-202-4/+4
|
* Fix building with GHC 6.6Ian Lynagh2008-09-201-1/+7
|
* Remove fno-method-sharing from the list of static flagsIan Lynagh2008-09-201-1/+0
| | | | It is now a dynamic flag
* Tidy up the treatment of dead binderssimonpj@microsoft.com2008-09-2018-365/+479
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does a lot of tidying up of the way that dead variables are handled in Core. Just the sort of thing to do on an aeroplane. * The tricky "binder-swap" optimisation is moved from the Simplifier to the Occurrence Analyser. See Note [Binder swap] in OccurAnal. This is really a nice change. It should reduce the number of simplifier iteratoins (slightly perhaps). And it means that we can be much less pessimistic about zapping occurrence info on binders in a case expression. * For example: case x of y { (a,b) -> e } Previously, each time around, even if y,a,b were all dead, the Simplifier would pessimistically zap their OccInfo, so that we can't see they are dead any more. As a result virtually no case expression ended up with dead binders. This wasn't Bad in itself, but it always felt wrong. * I added a check to CoreLint to check that a dead binder really isn't used. That showed up a couple of bugs in CSE. (Only in this sense -- they didn't really matter.) * I've changed the PprCore printer to print "_" for a dead variable. (Use -dppr-debug to see it again.) This reduces clutter quite a bit, and of course it's much more useful with the above change. * Another benefit of the binder-swap change is that I could get rid of the Simplifier hack (working, but hacky) in which the InScopeSet was used to map a variable to a *different* variable. That allowed me to remove VarEnv.modifyInScopeSet, and to simplify lookupInScopeSet so that it doesn't look for a fixpoint. This fixes no bugs, but is a useful cleanup. * Roman pointed out that Id.mkWildId is jolly dangerous, because of its fixed unique. So I've - localied it to MkCore, where it is private (not exported) - renamed it to 'mkWildBinder' to stress that you should only use it at binding sites, unless you really know what you are doing - provided a function MkCore.mkWildCase that emodies the most common use of mkWildId, and use that elsewhere So things are much better * A knock-on change is that I found a common pattern of localising a potentially global Id, and made a function for it: Id.localiseId
* Gix the ghcii scriptIan Lynagh2008-09-191-1/+1
| | | | | The ghc executable name doesn't have a version number on Windows, so don't put one in the script.
* Create runhaskell as well as runghcIan Lynagh2008-09-192-1/+15
|
* On Linux use libffi for allocating executable memory (fixed #738)Simon Marlow2008-09-196-21/+66
|
* Move the context_switch flag into the CapabilitySimon Marlow2008-09-1913-28/+39
| | | | | Fixes a long-standing bug that could in some cases cause sub-optimal scheduling behaviour.
* Fix building the extralibs tarballIan Lynagh2008-09-191-1/+1
| | | | | | We now need to dig the appropriate lines out of packages, rather than just catting libraries/extra-packages, in order to find out what the extralibs are.
* Install libffi when installing frmo a bindistIan Lynagh2008-09-191-0/+1
|
* Fix how we put libffi into bindistsIan Lynagh2008-09-192-15/+6
|
* Don't require Parser.y in a source dist6_10_branch_has_been_forkedIan Lynagh2008-09-191-1/+7
|
* Add HpcParser.hs to source distsIan Lynagh2008-09-191-0/+7
|
* Fix the list of generated files that need to go into the source distsIan Lynagh2008-09-191-1/+1
|
* Improve documentation of overlapping instancessimonpj@microsoft.com2008-09-191-5/+29
|
* Put generated files in source distsIan Lynagh2008-09-181-0/+20
| | | | We don't want to require that users building source dists have alex/happy
* Add libraries/syb to .darcs-boringIan Lynagh2008-09-181-0/+1
|
* Fix a couple of issues with :printpepe2008-09-186-314/+631
| | | | | | | | | | | | - Ticket #1995: Unsoundness with newtypes - Ticket #2475: "Can't unify" error when stopped at an exception In addition this patch adds the following: - Unfailingness: RTTI cannot panic anymore. In case of failure, it recovers gracefully by returning the "I know nothing" type - A -ddump-rtti flag
* wibblepepe2008-04-181-1/+1
|
* RichTokenStream supportChaddai Fouche2008-09-183-23/+127
| | | | | | | | | | | | | | | | | | | | | | This patch adds support for raw token streams, that contain more information than normal token streams (they contains comments at least). The "lexTokenStream" function brings this support to the Lexer module. In addition to that, functions have been added to the GHC module to make easier to recover of the token stream of a module ("getTokenStream"). Building on that, I added what could be called "rich token stream": token stream to which have been added the source string corresponding to each token, the function addSourceToToken takes a StringBuffer and a starting SrcLoc and a token stream and build this rich token stream. getRichTokenStream is a convenience function to get a module rich token stream. "showRichTokenStream" use the SrcLoc information in such a token stream to get a string similar to the original source (except unsignificant whitespaces). Thus "putStrLn . showRichTokenStream =<< getRichTokenStream s mod" should print a valid module source, the interesting part being to modify the token stream between the get and the show of course.
* When passing gcc -B, also tell it where the mingw include directory isIan Lynagh2008-09-181-2/+3
|
* Don't put the mingw directory in RTS's package.confIan Lynagh2008-09-181-3/+0
|
* Be more forceful when cleaning in compiler/ and ghc/Ian Lynagh2008-09-182-2/+10
| | | | | | Now that the Cabal file is generated by configure, it would be nice if clean worked even if the cabal file is missing. So now we just rm -rf the dist directory.
* Generate ghc.cabal and ghc-bin.cabal with configureIan Lynagh2008-09-185-5/+14
| | | | This allows us to put the proper version number into them
* Make the ghci scripts point to the versioned GHC program, not just "ghc"Ian Lynagh2008-09-181-2/+2
|
* Fix Trac #1470: improve handling of recursive instances (needed for SYB3)simonpj@microsoft.com2008-09-182-75/+149
| | | | | | | | | | | | | | This bug has been hanging around for a long time, as you'll see by its number. The fix implements a feature that is really needed by SYB3, to allow an instance to (rather indirectly) refer to itself. The trickiness comes when solving the superclass constraints. The whoel issue is explained in Note [Recursive instances and superclases] in TcSimplify. In cracking this one I found I could remove the WantSCs argument to the ReduceMe flag, which is a worthwhile simplification. Good!
* Comments onlysimonpj@microsoft.com2008-09-181-0/+4
|
* Replace ASSERT with WARN, and explain whysimonpj@microsoft.com2008-09-181-3/+30
| | | | | | | The DPH library tripped an ASSERT. The code is actually OK, but it's badly-optimised so I changed it to WARN. The issue here is explained in ClosureInfo, Note [Unsafe coerce complications].
* Add a missing "prime" (env' --> env'') thereby fixing a tripping WARN. Hurrah!simonpj@microsoft.com2008-09-181-2/+6
|
* Fix nasty infelicity: do not short-cut empty substitution in the simplifiersimonpj@microsoft.com2008-09-172-14/+16
| | | | | | | | | | | | I was perplexed about why an arity-related WARN was tripping. It took me _day_ (sigh) to find that it was because SimplEnv.substExpr was taking a short cut when the substitution was empty, thereby not subsituting for Ids in scope, which must be done (CoreSubst Note [Extending the Subst]). The fix is a matter of deleting the "optimisation". Same with CoreSubst.substSpec, although I don't know if that actually caused a probem.
* Avoid arity reduction when doing eta-reducesimonpj@microsoft.com2008-09-171-9/+22
| | | | | | We like things with high arity, so when doing eta reduction it's probably a good idea to avoid reducing arity.
* Add extra WARN testsimonpj@microsoft.com2008-09-171-2/+15
| | | | | | | | | | This warning tests that the arity of a function does not decrease. And that it's at least as great as the strictness signature. Failing this test isn't a disater, but it's distinctly odd and usually indicates that not enough information is getting propagated around, and hence you may get more simplifier iterations.
* Comments onlysimonpj@microsoft.com2008-09-171-2/+3
|
* Re-adjust interaction between -ddump flags and force-recompilationsimonpj@microsoft.com2008-09-171-11/+18
| | | | | | | | | | | If you say -ddump-xx we effectively add -fforce-recomp, so that you see your dump output. But this works badly in --make mode, because you get the ddump output for every module, which is probably not what you want. This patch forces recompilation with -ddump-X only in one-shot mode. Of course, this only affects people using -ddump options.
* Add Outputable GhcMode instancesimonpj@microsoft.com2008-09-171-0/+5
|
* Improve error reporting for 'deriving' (Trac #2604)simonpj@microsoft.com2008-09-171-37/+47
|
* Add link to GADT paper re rigid typessimonpj@microsoft.com2008-09-161-1/+5
|
* Fix MacOS X build: don't believe __GNUC_GNU_INLINE__ on MacOS XSimon Marlow2008-09-181-1/+5
|
* require Alex version 2.1.0Simon Marlow2008-09-181-2/+2
| | | | Having 2.0.1 causes some unicode tests to fail
* Type families: fixes in the new solverManuel M T Chakravarty2008-09-181-59/+93
|