summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Comments and variable naming onlysimonpj@microsoft.com2009-10-291-3/+3
|
* Add static flag -funfolding-dict-discount (plus layout changes)simonpj@microsoft.com2009-10-291-9/+11
|
* Tidy up pretty-printing (use ppUnless)simonpj@microsoft.com2009-10-292-3/+3
|
* A small refactoring in the code for desugaring explicit listssimonpj@microsoft.com2009-10-291-13/+23
|
* White space layout onlysimonpj@microsoft.com2009-10-291-2/+2
|
* Make `consBag` infixr, and `snocBag` infixlsimonpj@microsoft.com2009-10-291-0/+3
|
* Add Outputable.blankLine and use itsimonpj@microsoft.com2009-10-2912-42/+45
|
* Comments onlysimonpj@microsoft.com2009-10-291-1/+1
|
* Add support for NoSpecConstr annotationRoman Leshchinskiy2009-10-292-27/+78
| | | | | | | | | Annotating a type with NoSpecConstr will prevent SpecConstr from specialising on arguments of that type. The syntax is import SpecConstr {-# ANN type T NoSpecConstr #-}
* Utility functions for annotationsRoman Leshchinskiy2009-10-292-3/+20
|
* Document -fstrictness-beforeRoman Leshchinskiy2009-10-291-0/+8
|
* Add new dynamic flag -fstrictness-beforeRoman Leshchinskiy2009-10-291-1/+12
| | | | | With -fstrictness-before=n, GHC runs an additional strictness analysis pass before simplifier phase n.
* Tidy VectInfo in tidyProgramRoman Leshchinskiy2009-10-172-7/+31
|
* Fix bug in data type vectorisationRoman Leshchinskiy2009-10-161-1/+1
|
* Fix a dynamic linker bug that killed ghci on Snow LeopardManuel M T Chakravarty2009-10-291-2/+4
|
* Improvements to the gcc wrapperIan Lynagh2009-10-291-8/+21
| | | | Add some comments and better error reporting
* Fix formatting and wording in documentation of DoRecsimonpj@microsoft.com2009-10-291-12/+28
|
* Add some &&s to configureIan Lynagh2009-10-291-9/+10
| | | | so if the "cd" fails we don't charge on regardless.
* Don't "set -e" in configure.acIan Lynagh2009-10-291-2/+0
| | | | | On some systems (bash 4?) configure fails because of it when "gcc -V" fails.
* Drop unused importsimonpj@microsoft.com2009-10-281-1/+0
|
* Tidy up the parsing of comprehensions and improve locationssimonpj@microsoft.com2009-10-281-27/+20
| | | | While I was dealing with 'rec' statements I did this tidy-up
* Add 'rec' to stmts in a 'do', and deprecate 'mdo'simonpj@microsoft.com2009-10-2812-225/+402
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change is this (see Trac #2798). Instead of writing mdo { a <- getChar ; b <- f c ; c <- g b ; putChar c ; return b } you would write do { a <- getChar ; rec { b <- f c ; c <- g b } ; putChar c ; return b } That is, * 'mdo' is eliminated * 'rec' is added, which groups a bunch of statements into a single recursive statement This 'rec' thing is already present for the arrow notation, so it makes the two more uniform. Moreover, 'rec' lets you say more precisely where the recursion is (if you want to), whereas 'mdo' just says "there's recursion here somewhere". Lastly, all this works with rebindable syntax (which mdo does not). Currently 'mdo' is enabled by -XRecursiveDo. So we now deprecate this flag, with another flag -XDoRec to enable the 'rec' keyword. Implementation notes: * Some changes in Lexer.x * All uses of RecStmt now use record syntax I'm still not really happy with the "rec_ids" and "later_ids" in the RecStmt constructor, but I don't dare change it without consulting Ross about the consequences for arrow syntax.
* Remove a redundant parameter for mkTupleTy (the arity)simonpj@microsoft.com2009-10-284-9/+8
|
* Trivial improvement to mkForAllTysimonpj@microsoft.com2009-10-281-1/+1
|
* Wrap gcc on Windows, to provide the -B flagsIan Lynagh2009-10-274-0/+141
|
* Add a coercion optimiser, to reduce the size of coercion termssimonpj@microsoft.com2009-10-262-1/+104
| | | | | | | | | | | | Coercion terms can get big (see Trac #2859 for example), so this patch puts the infrastructure in place to optimise them: * Adds Coercion.optCoercion :: Coercion -> Coercion * Calls optCoercion in Simplify.lhs The optimiser doesn't work right at the moment, so it is commented out, but Tom is going to work on it.
* Comments onlysimonpj@microsoft.com2009-10-231-1/+1
|
* Add restrictVarEnv :: VarEnv a -> VarSet -> VarEnv asimonpj@microsoft.com2009-10-231-1/+6
| | | | | I needed it, and then didn't need it, so it's not currently called, but its generally useful kind of thing.
* Use braces rather than angle-brackets in debug-printing for Bagssimonpj@microsoft.com2009-10-231-1/+1
|
* Fix Trac #3591: very tricky specialiser bugsimonpj@microsoft.com2009-10-232-181/+314
| | | | | | | | | | There was a subtle bug in the interation of specialisation and floating, described in Note [Specialisation of dictionary functions]. The net effect was to create a loop where none existed before; plain wrong. In fixing it, I did quite a bit of house-cleaning in the specialiser, and added a lot more comments. It's tricky, alas.
* Fix Trac #3590: a nasty type-checker bug in left/right sectionssimonpj@microsoft.com2009-10-201-21/+26
| | | | | | | | | | The bug related to the fact that boxyUnify (now) returns a coercion, which was simply being ignored. (TcExpr is clearly not warning-free wrt the unused-monadic-bind thing!) Anyway, it's fine now. I added a test case to the test suite. MERGE to 6.12 please.
* Allow -ticky and -prof togethersimonpj@microsoft.com2009-10-201-0/+5
| | | | | | | | | | The two used to be incompatible, but they aren't any longer. In fact, -ticky should not be a 'way' any more, and doing that is on Simon M's todo list, but this patch takes us a little step closer. I'm not sure this is worth merging to the 6.12 branch.
* Escape some $s in makefiles for consistencyIan Lynagh2009-10-251-3/+3
|
* Remove readline license info from OS X packageIan Lynagh2009-10-241-694/+0
| | | | We no longer ship readline
* Add a test to the unpulled patches in darcs-allIan Lynagh2009-10-231-0/+15
|
* Explain why we check for LICENSE, not _darcs, in bootIan Lynagh2009-10-231-0/+4
|
* Make a mingw tree from mingw tarballsIan Lynagh2009-10-239-163/+87
|
* Don't build PS/PDF docs when validatingIan Lynagh2009-10-231-0/+7
| | | | | | | dblatex with miktex under msys/mingw can't build the PS and PDF docs, and just building the HTML docs is sufficient to check that the markup is correct, so we turn off PS and PDF doc building when validating.
* Do "set -e" in configure.acIan Lynagh2009-10-231-0/+2
| | | | So if something configure does fails, so does the whole configur script
* Stop creating $(INPLACE_LIB)/perl.exeIan Lynagh2009-10-201-3/+0
| | | | We now use an msys/mingw perl tarball
* Check for failure when running wgetIan Lynagh2009-10-201-0/+6
|
* Add tarball syncing to darcs-allIan Lynagh2009-10-142-1/+83
| | | | We now use it for libffi and the mingw tarballs
* Remove libffi tarball from the repoIan Lynagh2009-10-141-0/+0
|
* Fix a regression introduced in "overlap checking of the black hole queue..."Simon Marlow2009-10-201-0/+6
| | | | We weren't checking the black-hole queue in the non-threaded RTS.
* Tidy up TcSplice, especially runMeta and friendssimonpj@microsoft.com2009-10-202-67/+70
| | | | | | | I wanted to see the TH syntax produced by a splice, before its conversion back into HsSyn. Doing so involved some refactoring. This only affects deubbging code (-ddump-tc-trace).
* Add flags -fno-specialise, -fno-float-in, and document themsimonpj@microsoft.com2009-10-203-5/+47
| | | | | | It turned out that we lacked flags to switch off these two passes, so I added them.
* Fix cross-referencesimonpj@microsoft.com2009-10-201-1/+1
|
* Fix Trac #3600: Template Haskell bug in Convertsimonpj@microsoft.com2009-10-201-4/+10
| | | | | | | | | This bug was introduced when I added an optimisation, described in Note [Converting strings] in Convert.lhs. It was treating *all* empty lists as strings, not just string-typed ones! The fix is easy. Pls MERGE to stable branch.
* Tweak to the way per-source-file options are specifiedSimon Marlow2009-10-152-35/+35
|
* Add some manual dependencies, and -fforce-recomp for Constants and PrimOpsSimon Marlow2009-10-151-1/+6
| | | | | | GHC's recompilation checker doesn't take into account #included files, which is really a bug. We work around it here by adding dependencies and using -fforce-recomp in a couple of places.