summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Support code generation for unboxed-tuple function argumentsunboxed-tuple-arguments2Max Bolingbroke2012-05-1546-434/+543
| | | | | | | | | | | This is done by a 'unarisation' pre-pass at the STG level which translates away all (live) binders binding something of unboxed tuple type. This has the following knock-on effects: * The subkind hierarchy is vastly simplified (no UbxTupleKind or ArgKind) * Various relaxed type checks in typechecker, 'foreign import prim' etc * All case binders may be live at the Core level
* Remove StgTypeArg since it was never used and is probably broken anywayMax Bolingbroke2012-05-154-16/+4
|
* Remove the unused Type field from StgLamMax Bolingbroke2012-05-153-7/+5
|
* Follow changes in Cabal.Paolo Capriotti2012-05-151-1/+3
|
* Add a fixity environment to InteractiveContext (#2947)Paolo Capriotti2012-05-154-19/+39
|
* Simplify the behavior of package db flags.Paolo Capriotti2012-05-154-39/+41
| | | | | | | | | | | | | Previously, the `-no-user-package` and `-no-global-package` flags affected the "initial" stack only, while `user-package` and `global-packages` appended to the end of the stack. This commit changes the behavior of those flags, so that they are always applied to the stack as a whole. The effect of the GHC_PACKAGE_PATH environment variable has also been changed: terminating it with a separator now adds the default package dbs (user and global) instead of the initial stack.
* Update documentation of the package db flags.Paolo Capriotti2012-05-153-31/+109
|
* Rename package-conf flags to package-db.Paolo Capriotti2012-05-1515-37/+43
| | | | | | | | Rename package database flags in both GHC and ghc-pkg so that they are consistent with Cabal nomenclature. Add a version check to the build system so that the correct set of package db flags are used when the bootstrapping GHC has version < 7.5.
* Add flags to manipulate package db stack (#5977)Paolo Capriotti2012-05-152-45/+60
| | | | | | | | Introduce new flags to allow any package database stack to be set up. The `-no-user-package-conf` and `-no-global-package-conf` flags remove the corresponding package db from the initial stack, while `-user-package-conf` and `-global-package-conf` push it back on top of the stack.
* Tweak the lexer: In particular, improve notFollowedBy and friendsIan Lynagh2012-05-151-7/+14
| | | | | | | | | | | | | We were hitting a problem when reading the LANGUAGE/OPTIONS pragmas from GHC.TypeLits, where the buffer ended "{-". The rules for the start-comment lexeme check that "{-" is not followed by "#", but the test returned False when there was no next character. Therefore we were lexing this as as an open-curly lexeme (only consuming the "{", and not reaching the end of the buffer), which meant the options parser think that it had reached the end of the options. Now we correctly lex as "{-".
* Use pprInfixName in pprInfo (#6091)Paolo Capriotti2012-05-141-1/+1
| | | | Surround a name in backticks when printing an infix declaration in GHCi.
* Fix the the pure unifier so that it unifies kindsSimon Peyton Jones2012-05-142-32/+22
| | | | | | | | | | | When unifying two type variables we must unify their kinds. The pure *matcher* was doing so, but the pure *unifier* was not. This patch fixes Trac #6015, where an instance lookup was failing when it should have succeeded. I removed a bunch of code aimed at support sub-kinding. It's tricky, ad-hoc, and I don't think its necessary any more. Anything we can do to simplify the sub-kinding story is welcome!
* Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2012-05-112-1/+4
|\
| * Handle cases with no alternatives in GHCiSimon Marlow2012-05-111-0/+3
| | | | | | | | Fixes cgrun045(ghci) amongst others
| * Fix bug in expandTypeSynonyms that could rarely cause problemsMax Bolingbroke2012-05-101-1/+1
| |
* | Delete dead code mkIParamTyConSimon Peyton Jones2012-05-111-6/+0
| |
* | Refactor LHsTyVarBndrs to fix Trac #6081Simon Peyton Jones2012-05-1119-366/+422
|/ | | | | | | | | | | | | | | This is really a small change, but it touches a lot of files quite significantly. The real goal is to put the implicitly-bound kind variables of a data/class decl in the right place, namely on the LHsTyVarBndrs type, which now looks like data LHsTyVarBndrs name = HsQTvs { hsq_kvs :: [Name] , hsq_tvs :: [LHsTyVarBndr name] } This little change made the type checker neater in a number of ways, but it was fiddly to push through the changes.
* Comments onlySimon Peyton Jones2012-05-101-3/+27
|
* Merge branch 'master' of http://darcs.haskell.org//ghcSimon Peyton Jones2012-05-0989-1897/+2480
|\
| * Take care not to mix polymorphic and unlifted bindings in a groupSimon Peyton Jones2012-05-091-18/+41
| | | | | | | | Fixes Trac #6078
| * Wibbles to 'simplify the SimplCont data type'Simon Peyton Jones2012-05-092-3/+3
| |
| * Simplify the SimplCont data typeSimon Peyton Jones2012-05-092-103/+112
| | | | | | | | | | | | | | * Put the result type in the Stop continuation * No need for the alts type in Select The result is a modest but useful simplification
| * Merge branch 'ghc-new-flavor'Simon Peyton Jones2012-05-0916-883/+1005
| |\
| | * Make fresh variables when decomposing Givensghc-new-flavorSimon Peyton Jones2012-05-091-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | This turns out to be important becuase we don't have a form for superclass selection in TcCoercion (we could but we don't). Se comments with xCtFlavor_cache, the Given case.
| | * Use fresh uniques when unboxing coercions in the desugarerSimon Peyton Jones2012-05-091-26/+33
| | | | | | | | | | | | | | | This is kosher, and turns out to be vital when we have more complicate evidence terms.
| | * CosmeticsSimon Peyton Jones2012-05-092-4/+4
| | |
| | * Yet another major refactoring of the constraint solverSimon Peyton Jones2012-05-0716-857/+955
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the result of Simon and Dimitrios doing a code walk through. There is no change in behaviour, but the structure is much better. Main changes: * Given constraints contain an EvTerm not an EvVar * Correspondingly, TcEvidence is a recursive types that uses EvTerms rather than EvVars * Rename CtFlavor to CtEvidence * Every CtEvidence has a ctev_pred field. And use record fields consistently for CtEvidence * The solved-constraint fields of InertSet (namely inert_solved and inert_solved_funeqs) contain CtEvidence, not Ct There is a long cascade of follow-on changes.
| * | Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-05-0815-90/+155
| |\ \
| | * | Enable FileLock for win32 (#4363)Paolo Capriotti2012-05-085-17/+10
| | | |
| | * | Move getMonotonicUSec from base to the RTS.Paolo Capriotti2012-05-085-39/+78
| | | |
| | * | Follow upstream mtl and Cabal, add transformers package (#5958)Paolo Capriotti2012-05-075-0/+45
| | | |
| | * | Adapt to changes in Cabal.Paolo Capriotti2012-05-072-34/+22
| | | |
| * | | Add support for .text.startup sections to the LinkerIan Lynagh2012-05-071-0/+1
| |/ / | | | | | | | | | We get these in a full build on Win64
| * | Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-05-072-465/+338
| |\ \
| | * | Fix #6080 & house keeping in Vectorise.ExpManuel M T Chakravarty2012-05-082-465/+338
| | | |
| * | | Fix alignment when loading .a files on Win64Ian Lynagh2012-05-071-2/+17
| | | |
| * | | Test for misaligned sections, and fail if we find oneIan Lynagh2012-05-071-0/+4
| |/ /
| * | Build fixIan Lynagh2012-05-061-1/+1
| | |
| * | Follow changes in haskelineIan Lynagh2012-05-061-2/+1
| | | | | | | | | | | | | | | I'm not sure if we still need to encode the error, but validate is happy with this fix, at least.
| * | Fix the way we call strip on DLLsIan Lynagh2012-05-062-1/+6
| | | | | | | | | | | | | | | | | | On Win64, "install -s" calls a strip that doesn't understand 64bit binaries. For some reason, this means the DLLs end up non-executable, which means executables that use them just segfault.
| * | Fix RTS DLL references on Win64Ian Lynagh2012-05-063-5/+26
| | |
| * | Working towards fixing DLLs on Win64Ian Lynagh2012-05-0611-16/+22
| | |
| * | Install DLLs as executableIan Lynagh2012-05-051-1/+1
| | | | | | | | | | | | | | | Otherwise the dynHelloWorld test segfaults when run from an installed compiler on cygwin.
| * | Use lnats to avoid overflowing when allocating large amountsIan Lynagh2012-05-051-8/+8
| | | | | | | | | | | | Stops outofmem segfaulting on Win64
| * | Enable and fix building dynlibs on Win64Ian Lynagh2012-05-054-7/+10
| | |
| * | Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-05-041-1/+1
| |\ \ | | |/
| | * Fix typo in error message (Trac #6076)Simon Peyton Jones2012-05-041-1/+1
| | |
| * | Follow libffi changes on WindowsIan Lynagh2012-05-043-5/+8
| |/
| * Fix overnight build breakage (fix from simonpj)Simon Marlow2012-05-041-3/+1
| | | | | | | | compiler/simplCore/SimplUtils.lhs:1668:5-25: Irrefutable pattern failed for pattern ((_, _, rhs1) : _)
| * Add _getpid to rtsSyms on Win64Ian Lynagh2012-05-031-0/+1
| |