summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add IfacePromotionInfodata-kind-syntaxTrevor Elliott2013-09-083-14/+33
| | | | * Remove the orphan instance for PromotionInfo from types/TyCon.lhs
* Fix how we're using roles with `data kind` declarationsTrevor Elliott2013-09-085-18/+24
|
* Squashed commit of the following:Trevor Elliott2013-09-0826-94/+751
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 6549c3e569d0e0c3714814860201924432da2435 Author: Trevor Elliott <trevor@galois.com> Date: Sun Sep 8 16:43:42 2013 -0700 Document `data kind` syntax commit 81c6d7b884e819cf0b0569cef23b67bb5aff8944 Merge: 6c3f34c c798a8c Author: Trevor Elliott <trevor@galois.com> Date: Sun Sep 8 11:40:47 2013 -0700 Merge remote-tracking branch 'head/master' into data-kind-syntax-v2 commit 6c3f34c80bd8b17920a956e194ec29d1affbd776 Author: Trevor Elliott <awesomelyawesome@gmail.com> Date: Wed Aug 28 02:21:07 2013 -0400 Merge with the roles changes There a bunch of spots where the roles haven't been properly integrated with, so this patch should get some review. commit 6bb530f50f655e74fb4e337311699eee46b519b7 Merge: 7d27880 4b5238a Author: Trevor Elliott <awesomelyawesome@gmail.com> Date: Tue Aug 27 02:35:55 2013 -0400 Merge remote-tracking branch 'head/master' into data-kind-syntax-v2 Conflicts: compiler/basicTypes/DataCon.lhs compiler/iface/IfaceSyn.lhs compiler/main/PprTyThing.hs compiler/parser/Lexer.x compiler/parser/Parser.y.pp compiler/typecheck/TcInstDcls.lhs compiler/typecheck/TcTyClsDecls.lhs compiler/typecheck/TcTyDecls.lhs compiler/types/TyCon.lhs commit 7d2788021dab549ffd888deb9f28c8e7eab0d4ba Author: Trevor Elliott <trevor@galois.com> Date: Mon Jul 29 09:05:38 2013 -0700 Migrate through some lost instances commit 13e1f41ec9252fd9d547d8e4b9fb04ffaf43c105 Merge: e051060 9e185cc Author: Trevor Elliott <awesomelyawesome@gmail.com> Date: Sun Jul 28 14:28:05 2013 -0400 Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2 Moved Binary instances for data-kind related types to IfaceSyn commit e051060bbef4d359f2b1caa1c6135b23df17ffe7 Merge: 08d7c2f 2f99cdb Author: Trevor Elliott <awesomelyawesome@gmail.com> Date: Wed Jul 17 01:58:16 2013 -0400 Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2 commit 08d7c2fca10a8c89b6fd638536a28972753ae360 Author: Trevor Elliott <awesomelyawesome@gmail.com> Date: Mon Jul 1 21:56:48 2013 -0400 Fix some bugs from the merge with master * Figure out what the right choice for the kind checking strategy of kind decls should be commit 12f055d23a1b5c0a74d2db0784b779b605f3888f Merge: f0adbdc e56b9d5 Author: Trevor Elliott <awesomelyawesome@gmail.com> Date: Mon Jul 1 21:12:47 2013 -0400 Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2 Conflicts: compiler/typecheck/TcTyClsDecls.lhs commit f0adbdc29fefc54675f0960e3178f3b079058eea Author: Trevor Elliott <awesomelyawesome@gmail.com> Date: Sun Jun 23 15:53:06 2013 -0400 Swap the names for PromotionFlavor and PromotionInfo commit e177270dc002f45286a9b644935ea339d8a6c8d3 Merge: 16df4be 3660ef9 Author: Trevor Elliott <awesomelyawesome@gmail.com> Date: Sat Jun 22 04:00:15 2013 -0400 Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2 commit 16df4beac24065d3075a65b26add543452d1f2b2 Merge: b021b30 569b265 Author: Trevor Elliott <awesomelyawesome@gmail.com> Date: Sat Jun 22 02:41:14 2013 -0400 merge with master commit b021b30f66fdb66965f6c57fb0969317c9aeb9e3 Author: Trevor Elliott <trevor@galois.com> Date: Thu Jun 20 19:39:20 2013 -0700 Start reworking comments commit b765370181571c1922b508f8dd17648a090ac248 Merge: d1ac794 e4fc6fd Author: Trevor Elliott <trevor@galois.com> Date: Thu Jun 20 18:27:43 2013 -0700 Merge branch 'master' into data-kind-syntax-v2 commit d1ac794b5bd06ae04e014cabe4560628b70fcdeb Merge: 9ad0a3c 73991d6 Author: Trevor Elliott <trevor@galois.com> Date: Thu Jun 20 18:16:15 2013 -0700 Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2 commit 9ad0a3c57a5b77f5040f1201b2c53a84680c1af2 Author: Trevor Elliott <trevor@galois.com> Date: Thu Jun 20 18:13:58 2013 -0700 Don't add the promotion tick to data kind constructors commit 8c37784e31702ecf7d91f2d7cf7dfab675a56927 Merge: 4dff379 db9b631 Author: Trevor Elliott <trevor@galois.com> Date: Mon Jun 17 10:55:51 2013 -0700 Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2 Conflicts: compiler/main/PprTyThing.hs compiler/rename/RnTypes.lhs compiler/types/TyCon.lhs commit 4dff3791ac9d1175d26f8c3b44923aefbe6c3f40 Author: Trevor Elliott <trevor@galois.com> Date: Mon Jun 3 20:45:00 2013 -0700 When parsing interfaces, use forkM while checking type constructors commit 7903009475b3e89aecc0a8e5d328ea84ea53a39d Author: Trevor Elliott <trevor@galois.com> Date: Mon Jun 3 20:06:40 2013 -0700 When parsing data kind declarations, don't change the constructor namespace commit 78ff545601cedba106eda05a38ce8f24f8480961 Author: Trevor Elliott <trevor@galois.com> Date: Mon May 27 18:45:52 2013 -0700 Switch from Maybe TyCon to a richer type for promotion The new type distinguishes the two cases where promotion isn't possible: 1) Promotion isn't possible, as it's disabled by a 'data type' declaration 2) Promotion isn't possible because we don't know how to promote it commit 0573fd3e8f9822171ddeb0df937e10075b653678 Author: Trevor Elliott <trevor@galois.com> Date: Mon May 27 17:36:21 2013 -0700 Remove an old TODO commit e218d5d6848109e9dea129250199115a9db6b1d9 Author: Trevor Elliott <trevor@galois.com> Date: Mon May 27 17:36:15 2013 -0700 Properly print data kind declarations in ghci commit 22b011d43f84cb0478eded613344e1dd165664e5 Author: Trevor Elliott <trevor@galois.com> Date: Thu May 16 18:38:22 2013 -0700 Switch to using the PromotedDataCon for the RHS of a data kind Something is still wrong here: doing :browse will get a panic for some reason. commit 12db8c704765d2775b0299c2e718d015577a6f18 Author: Trevor Elliott <trevor@galois.com> Date: Sat May 4 19:06:43 2013 -0700 Thread data kind syntax through the interface Things are not quite right at the moment. The issue is that we can't distinguish abstract types from types that are constructors in a data kind. As such, we should introduce a new constructor to TyCon to help disambiguate these two cases. Also it might be nice to add a new TyCon for kinds, which would avoid the need for a new RHS in the AlgTyCon case. commit 73f19612444e2a3b1534ab41f02449c9a5191ccb Author: Trevor Elliott <trevor@galois.com> Date: Tue Apr 30 20:30:21 2013 -0700 Handle kind declarations separately commit 8d3bf040748026829382c5d13421f910b3f9fcf9 Author: Trevor Elliott <trevor@galois.com> Date: Fri Apr 26 20:40:49 2013 -0700 Partial type-kind checking of `data kind` declarations commit 2399eb788ed0fe571c22de4f810080a323ddaceb Author: Trevor Elliott <trevor@galois.com> Date: Fri Apr 26 18:01:28 2013 -0700 Support empty `data kind` declarations commit 61a28f2df42b34742219a97a22c029f840fef7f5 Author: Trevor Elliott <trevor@galois.com> Date: Fri Apr 26 17:34:31 2013 -0700 Rename `data kind` declarations commit 5d3485a3e3ab7a78f1055b872f78203d5d005b76 Author: Trevor Elliott <trevor@galois.com> Date: Fri Apr 26 16:53:26 2013 -0700 Fix a typo in a parser comment commit 7f631cf41a3ca84cd820b292711014b4e806a440 Author: Trevor Elliott <trevor@galois.com> Date: Fri Apr 26 16:53:00 2013 -0700 Add paring for `data kind` declarations commit d29733901b2cd195989cdc972ac74c1ed4f19670 Author: Trevor Elliott <trevor@galois.com> Date: Fri Apr 26 14:31:30 2013 -0700 Rename typeLiteralsBit to dataKindsBit in the lexer commit ca8ae194826fc47a2ba4f0188d62f5247b0fe631 Author: Trevor Elliott <trevor@galois.com> Date: Fri Apr 26 14:27:50 2013 -0700 Add a check for -XDataKinds when parsing a `data type` declaration commit 8588717e8ce224affa584bd1e27aa14e098f5a8f Author: Trevor Elliott <trevor@galois.com> Date: Fri Apr 26 14:18:41 2013 -0700 Implement the 'data type' syntax and checking Add a new form of data declaration where the 'type' modifier can be used to prevent data promotion. For example data type T = K will not yield a promoted kind T, and promoted type K, even though they are in principle promotable.
* Note infinite stack default in release notes.Austin Seipp2013-09-081-0/+21
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Avoid allocating while holding a lock (#8242)Takano Akio2013-09-081-8/+8
| | | | | | | | | | This reverts commit 6770663f764db76dbb7138ccb3aea0527d194151. If the program enters the garbage collector with the closure lock held, it will confuse the garbage collector and will result in an infinite loop in evacuate(). Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Default to infinite stack size (#8189)Austin Seipp2013-09-089-33/+73
| | | | | | | | | | | | | When servicing a stack overflows, only throw an exception to the given thread if the user explicitly set a max stack size, using +RTS -K. Otherwise just service it normally and grow the stack. In case we actually run out of *heap* (stack chuncks are allocated on the heap), then we need to bail by calling the stackOverflow() hook and exit immediately. Authored-by: Ben Gamari <bgamari.foss@gmail.com> Signed-off-by: Austin Seipp <aseipp@pobox.com>
* resurrected -fdicts-strict, off by defaultNicolas Frisby2013-09-088-83/+147
| | | | also added -fdmd-tx-dict-sel, on by default
* Record PAP allocation to CCCS.Edward Z. Yang2013-09-071-0/+2
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Fix ghc-pkg list --simple-output not being alphabetical (#8245).Niklas Hambüchen2013-09-061-8/+9
| | | | | | | | | It was sorted by version number so far. I also added a sort to the normal output (without --simple-output) since the source it comes from does not guarantee sortedness. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Add basic support for GHCJSAustin Seipp2013-09-0614-4/+54
| | | | | | | | | | | | | | | | | | | This patch encompasses most of the basic infrastructure for GHCJS. It includes: * A new extension, -XJavaScriptFFI * A new architecture, ArchJavaScript * Parser and lexer support for 'foreign import javascript', only available under -XJavaScriptFFI, using ArchJavaScript. * As a knock-on, there is also a new 'WayCustom' constructor in DynFlags, so clients of the GHC API can add custom 'tags' to their built files. This should be useful for other users as well. The remaining changes are really just the resulting fallout, making sure all the cases are handled appropriately for DynFlags and Platform. Authored-by: Luite Stegeman <stegeman@gmail.com> Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Fix link to launchbury93naturalJoachim Breitner2013-09-061-1/+1
|
* Windows: load eh_frame as rodata, fixes #8237Edward Z. Yang2013-09-051-0/+6
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Temporary Haskeline fix for Windows build.Edward Z. Yang2013-09-051-0/+0
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* docs only: update the release notes with atomic primopsRyan Newton2013-09-051-0/+11
|
* Ignore drectve sections, partially fixing #7056Edward Z. Yang2013-09-041-0/+2
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Fix annoying iOS linker warnings (#8208)Austin Seipp2013-09-042-2/+16
| | | | | Authored-by: Luke Iannini <lukexi@me.com> Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Update `Cabal` to 1.18.0 finalHerbert Valerio Riedel2013-09-041-0/+0
|
* Update `containers` to 0.5.3.1 releaseHerbert Valerio Riedel2013-09-041-0/+0
|
* documentation and comments for -ffun-to-thunk and -flate-dmd-analNicolas Frisby2013-09-043-20/+40
|
* Add a --no-dph flag to ./validateAustin Seipp2013-09-041-1/+12
| | | | | | | | | | | | Under --slow, the DPH tests can take incredible amounts of time to run. And on some platforms, we may not have a fully working linker in order to build DPH etc anyway. So this provides a way to turn it off. This flag is off by default, but should your specify it, you can skip the required 'dph' libraries in a build, should you remove them from the source tree. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Make sure -fcmm-sink is passed to Parser properlyAustin Seipp2013-09-044-19/+24
| | | | | | | | | | | | | | | | | | | Parser.hs needs to be compiled with -fcmm-sink on x86 platforms, so the register allocator doesn't run out of stack slots. Previously, we had to do some CPP hacks in order to emit an #ifdef into the file - this is because we preprocess it once up front, and run the preprocessor again when we compile it. There's two cases: the boostrap compiler is > 7.8, and the stage1 parser needs the flag, or the stage1 compiler is compiling the stage2 Parser.hs, and needs the flag.. The previous approach was super fragile with Clang. The more principled fix is to instead do this through the build system. This fixes #8182. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Remove -fglasgow-exts from --helpAustin Seipp2013-09-041-2/+0
| | | | | | It's been deprecated for who knows how long, and gives a warning. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Add --show-options to --help (#8190)Austin Seipp2013-09-041-0/+3
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Turn manual Typeable instances into errors; fixes #8132Jose Pedro Magalhaes2013-09-041-2/+2
|
* Fix definition of DefinerOfRegs for CmmForeignCallJan Stolarek2013-09-042-8/+78
| | | | And update comments
* Make role inference work on the source type of a data conSimon Peyton Jones2013-09-042-10/+28
| | | | | | | | When inferring roles it is Much More Kosher to work on the source type, as written by the user, rather than the representation type as computed by GHC. Error messages may be better and, more subtly, the representation type is the result of a pretty complicated calculation and I'm worried about accidental cycles.
* Put the interface-file typechecking of IfUnpackCo inside forkMSimon Peyton Jones2013-09-041-7/+10
| | | | | | Now that IfBangs can contain coercions, which can mention the very type being typechecked, the tc_strict call must be inside forkM. This led to Trac #8221
* Improve debug tracing a bitSimon Peyton Jones2013-09-041-10/+13
|
* Fix over-eager unpacking in isUnpackableTypeSimon Peyton Jones2013-09-041-10/+23
| | | | | | | | This bug meant that we tried to unpack Link in data Link a = MkLink !(Link a) when -funbox-small-strict-fields was on. See Trac #8221.
* Don't refer to oc->next after freeing oc.Simon Marlow2013-09-041-2/+3
|
* Fix printf formats for pathchar on Windows (where it's wchar_t, not char)Simon Marlow2013-09-043-6/+6
|
* Don't move Capabilities in setNumCapabilities (#8209)Simon Marlow2013-09-0414-191/+138
| | | | | | | | | | | | | We have various problems with reallocating the array of Capabilities, due to threads in waitForReturnCapability that are already holding a pointer to a Capability. Rather than add more locking to make this safer, I decided it would be easier to ensure that we never move the Capabilities at all. The capabilities array is now an array of pointers to Capabaility. There are extra indirections, but it rarely matters - we don't often access Capabilities via the array, normally we already have a pointer to one. I ran the parallel benchmarks and didn't see any difference.
* Hack-fix build breakage on Linux/GCC from fc4856f9Herbert Valerio Riedel2013-09-041-1/+1
| | | | | | | | For some reason, the new `GccIsClang` variable introduced via fc4856f9e811d9a23ae9212f43a09ddf5ef12b26 for addressing #8148 isn't set explicitly to `NO`; so this simply changes the test `ifeq $(GccIsClang) NO` to `ifneq $(GccIsClang) YES` which should fix the build with and w/o Clang.
* Make validate play nice with clang (for Xcode 5 command line tools)Manuel M T Chakravarty2013-09-044-5/+31
| | | | * This partially fixes #8148. However, --with-ghc-4.8 will still not work given the rather dubious m4 macros and the failures in the test suite due to '-nodefaultlibs' still need to be fixed.
* Allow non-Nominal covars (bugfix)Richard Eisenberg2013-09-031-3/+2
|
* Fix #7918Edsko de Vries2013-09-033-5/+10
|
* Comments and type synonym in CmmSinkJan Stolarek2013-09-032-22/+35
|
* Comment onlySimon Peyton Jones2013-09-031-0/+1
|
* Improve Linting in GHCi (fixes Trac #8215)Simon Peyton Jones2013-09-037-72/+131
| | | | | | | | | | | | | | | | | | | | | The original problem was that we weren't bringing varaibles bound in the interactive context into scope before Linting the result of a top-level declaration in GHCi. (We were doing this for expressions.) Moreover I found that we weren't Linting the result of desugaring a GHCi expression, which we really should be doing. It took me a bit of time to unravel all this, and I did some refactoring to make it easier next time. * CoreMonad contains the Lint wrappers that get the right environments into place. It always had endPass and lintPassResult (which Lints bindings), but now it has lintInteractiveExpr. * Both use a common function CoreMonad.interactiveInScope to find those in-scope variables. Quite a bit of knock-on effects from this, but nothing exciting.
* Patch by lukexi.Gabor Greif2013-09-031-1/+1
| | | | Fixing #8217 for the unix(-like) case.
* Extend `packages` by 4th column for upstream repoHerbert Valerio Riedel2013-09-023-48/+51
| | | | | | | By keeping the repository url in the `packages` file scripts such as source:ghc/sync-all can pick it up. Moreover, it's easier to automatically validate for correctness than the wiki:Repositories/Upstream page.
* Comments onlyJan Stolarek2013-09-021-20/+40
|
* Improve documentation for the 7.8 releaseSimon Peyton Jones2013-09-022-212/+259
| | | | | | | * Document ExplicitNamespaces * Improve documentation of ambiguity, and AllowAmbiguousTypes * Improve documentation of overlapping/incoherent instance rules * List language extensions in alphabetical order
* Make Specialise close over kind variables (fixes Trac #8196)Simon Peyton Jones2013-09-026-22/+25
| | | | | | | | | | | This is a lingering bug from the introduction of polymorphic kinds. In the specialiser we were specialising over a type, but failing to specialise over the kinds it mentions. The fix is simple: add a call to closeOverKinds. Most of the patch is to add closeOverKinds, and to use it in a few other places where we are doing essentially the same thing.
* Remove the final vestiges of InlineWrappersSimon Peyton Jones2013-09-027-86/+63
| | | | | | | | | | | | | | | Part of Nick Frisby's patch (c080f727ba5f83921b842fcff71e9066adbdc250) for late demand-analysis removed the over-zealous short-cut whereby strictness wrappers were not spelled out in detail in interface files. This patch completes the process by * removing InlineWrapper from UnfoldingSource * removing IfWrapper from IfaceUnfolding There was a tiny bit of special ad-hocery for wrappers, in OccurAnal, but fortunately that too turns out to be rendered irrelevant by the more uniform treatment, and after that there was no need to remember which functions are wrappers.
* Explicit import lists for StgCmmProf.Edward Z. Yang2013-09-018-8/+9
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Comment fixGabor Greif2013-08-311-1/+1
|
* minor: remove tabs from fileatomicsRyan Newton2013-08-311-4/+4
|
* Merge branch 'master' into atomicsRyan Newton2013-08-3191-2958/+2456
|\
| * Teach `validate` script how to `--help`Herbert Valerio Riedel2013-08-311-15/+35
| | | | | | | | | | This basically turns the comment at the beginning of the `validate` shell script into an interactive `--help` output plus some minor additions.