summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Nuke {save,restore}StaticFlagGlobals.Austin Seipp2013-10-092-21/+20
| | | | | | | | | | | | | | | | | | | As discussed in #8276, this code was somewhat broken because while you could always revert the actual argument list, you can never revert the CAFs upon which they are based - so really this didn't buy you much. However, Haddock in particular expects to be able to parse GHC flags, including static flags, and used this code to do so. In its place, we instead have discardStaticFlags, which will safely remove any of the remaining 5 flags from a list of arguments. Haddock instead discards these, as they aren't related to anything it does anyway (mostly controlling debugging output and some basic optimizer phases.) This fixes #8276. In the future, we will eventually completely remove the remaining StaticFlags, removing the need for this fix. Unfortunately these changes will be quite invasive and require more time. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Use evaldUnfolding for proxyHashIdAustin Seipp2013-10-091-6/+11
| | | | | | | | | | | | Edward and I noticed this - like realWorld#, we want things applied to proxy# which are INLINE more likely to be inlined - we do this by marking proxy# as having an evaldUnfolding, which in turn makes it look like the primitive is evaluated and makes the simplifier more willing to do so. See Note [evaldUnfoldings] in MkId. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Turn -H and -Rghc-timing into dynamic flags.Austin Seipp2013-10-092-30/+37
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Release note fix.Austin Seipp2013-10-091-2/+3
| | | | | | Thanks to Gergely Risko for pointing this out. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Clean up some outdated comments (#8418)Austin Seipp2013-10-094-11/+17
| | | | | Authored-by: Gergely Risko <gergely@risko.hu> Signed-off-by: Austin Seipp <austin@well-typed.com>
* GHCi: Expand ~ in :script commandJoachim Breitner2013-10-091-3/+4
| | | | Fixes: #7685
* Catch some popular typos in commentsGabor Greif2013-10-085-7/+7
|
* Fix grammarGabor Greif2013-10-081-1/+1
|
* docs for new layout behaviour with MultiWayIf (#7783)Simon Marlow2013-10-081-1/+29
|
* Print (non-representational) roles when display TyCon informationSimon Peyton Jones2013-10-081-14/+25
|
* Change backslash to vertical bar in commentSimon Peyton Jones2013-10-081-2/+2
| | | | | | | | | This is to avoid rts/sm/Storage.c: In function ‘allocate’: rts/sm/Storage.c:725:13: error: multi-line comment [-Werror=comment] cc1: all warnings being treated as errors
* More clarity on CurrentAlloc docs.Edward Z. Yang2013-10-061-0/+22
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Remove deprecated _scc_ (#8170)Krzysztof Gogolewski2013-10-055-10/+6
|
* Add release note item for new Monoid Const instanceHerbert Valerio Riedel2013-10-051-0/+5
| | | | | | See [6f3a194accd2a1a75a3f86c1b4dca30521488110/base] Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Remove tab.Geoffrey Mainland2013-10-041-1/+1
|
* Merge New Template Haskell branch.Geoffrey Mainland2013-10-0430-464/+1378
|\
| * Add support for Template Haskell state.wip/th-newGeoffrey Mainland2013-10-043-0/+28
| |
| * Add support for Template Haskell module finalizers.Geoffrey Mainland2013-10-045-6/+33
| | | | | | | | Template Haskell module finalizers are run after a module is type checked.
| * Change the types of typed brackets and splices.Geoffrey Mainland2013-10-042-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The essence of this change is that a TExp a now wraps a TH.Exp instead of a TH.ExpQ. This means: * A typed bracket [||...||] now has type Q (TExp tau), where tau is the type of the expression in the bracket. * A typed splice $(...) must contain a value of type Q (TExp tau), and has type tau. Previously, typed brackets had type TExp tau, and typed splices had to contain a value of type TExp tau.
| * Allow splices to add additional top-level declarations.Geoffrey Mainland2013-10-045-3/+92
| |
| * Code formatting cleanup.Geoffrey Mainland2013-10-041-32/+34
| |
| * Add full support for declaration splices.Geoffrey Mainland2013-10-0411-40/+117
| | | | | | | | | | Since declaration splices are now untyped, they can be used anywhere a declaration is valid, including in declaration brackets.
| * Add support for pattern splices.Geoffrey Mainland2013-10-0415-9/+154
| |
| * Clean up smart constructors for splices.Geoffrey Mainland2013-10-043-13/+16
| |
| * Clean up error context when checking brackets/splices.Geoffrey Mainland2013-10-042-5/+19
| |
| * Add support for typed brackets and splices.Geoffrey Mainland2013-10-041-91/+82
| |
| * Track TH stage in the renamer.Geoffrey Mainland2013-10-0412-288/+558
| |
| * Check the staging restriction in the renamer.Geoffrey Mainland2013-10-042-32/+134
| |
| * Track the typed/untyped distinction in the current TH stage.Geoffrey Mainland2013-10-045-36/+77
| | | | | | | | Also check for illegal typed/untyped bracket/splice combinations.
| * Differentiate typed and untyped splices and brackets in the abstract syntax.Geoffrey Mainland2013-10-047-15/+35
| |
| * Add names for TExp type constructor and unType.Geoffrey Mainland2013-10-041-6/+22
| |
| * Add syntactic support for typed expression brackets and splices.Geoffrey Mainland2013-10-042-17/+40
| | | | | | | | | | Right now the syntax for typed expression brackets and splices maps to conventional brackets and splices, i.e., they are not typed.
| * Consolidate TH renaming.Geoffrey Mainland2013-10-044-29/+50
| |
| * Move renamer splice functionality into a separate module.Geoffrey Mainland2013-10-045-117/+152
|/ | | | This structure now matches that of the type checker.
* Simplify the plumbing for checkValidTyClSimon Peyton Jones2013-10-042-40/+42
| | | | | | | | | | | | | Instead of walking over the source decls, and looking up the Name to find the TyCon or whatever, we just walk over the list of TyThings that have been brought into scope. This is much tidier. The only wrinkle is that, since we don't have the original declaration, we don't have its SrcSpan to put in the error message. I fixed this by making the SrcSpan for the TyCon itself be the span of the whole declaration. This actually makes sense anyway. There are bunch of error message wibbles in consequence.
* Comments and white space onlySimon Peyton Jones2013-10-041-5/+9
|
* Simplify printing of boot-file mis-matches, by using PprTyThing.pprTyThingSimon Peyton Jones2013-10-041-15/+4
|
* Simplify PprTyThingSimon Peyton Jones2013-10-041-53/+53
| | | | | | | In particular, don't import GHC (a historical hangover), which makes this module live much lower down in the module hierarchy. This in turn means we can call it from TcRnDriver
* Improve pretty-printing of IfaceSyn type familiesSimon Peyton Jones2013-10-041-15/+14
|
* Fix the bytecode genreation for tagToEnum# (Trac #8383)Simon Peyton Jones2013-10-041-42/+83
| | | | | | | Reid Barton's diagnosis was right on the mark, though the fix wasn't quite right. See Note [Implementing tagToEnum#]. As usual I did some refactoring.
* Wibble in user docsSimon Peyton Jones2013-10-041-2/+3
|
* Comments onlySimon Peyton Jones2013-10-042-1/+8
|
* Update `bytestring` library to latest upstream HEADHerbert Valerio Riedel2013-10-041-0/+0
|
* s/pathalogical/pathological/Edward Z. Yang2013-10-031-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* s/Heep/Heap/Edward Z. Yang2013-10-031-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Fix Trac #8368.Richard Eisenberg2013-10-032-11/+43
| | | | | | | | | | | | | | | Two different fixes were necessary here. First, we need to fail eagerly in kcConDecl, to prevent the return-type error in tcConDecl from firing twice. (This wasn't caught earlier because of the eager fail in the datatype kind-checking code -- which isn't used for data instances!) We also must check again in tcDataFamInstDecl, because it's possible for a data instance return type to have the right head but the wrong body (i.e., doesn't conform to the data instance type patterns). This check is only possible *after* desugaring from HsType to Type, so it can't be done in tcConRes with the first check. This is documented in a comment at check_valid_data_con, a local function within tcDataFamInstDecl.
* Close over kinds when checking fundep coverage (Trac #8391)Simon Peyton Jones2013-10-031-2/+19
| | | | See Note [Closing over kinds in coverage] in FunDeps
* Tiny comment on the change from StgWord8 to StgWordSimon Peyton Jones2013-10-031-1/+1
| | | | c.f. commit 0b0fec536e35769b64b8bc5397c84138fa512155
* Improve -XAllowAmbiguousTypes (Trac #8392)Simon Peyton Jones2013-10-034-64/+103
| | | | | | | | | * Add a suggestion to add AllowAmbiguousTypes when there is an ambiguity error * Move some of the logic to tcSimplifyAmbiguityCheck * Report inaccessible code regardless of the ambiguity check
* Tidy up the commit for Trac #3725Simon Peyton Jones2013-10-034-73/+69
| | | | | | | | | In particular, the mi_ann_fn field in ModIface was only being used totally locally in MkIface, so I made it local. Other than that I just refactored data types slightly, * Adding synonym Annotations.AnnPayload for the cryptic Serialized * Adding MkIface.IfaceIdExtras to common up some of the identical code