summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Support for multiple signature files in scope."Edward Z. Yang2015-06-111-5/+0
| | | | This reverts commit a7524eaed33324e2155c47d4a705bef1d70a2b5b.
* Another major improvement of "improvement"Simon Peyton Jones2015-06-111-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I wasn't very happy with my fix to Trac #10009. This is much better. The main idea is that the inert set now contains a "model", which embodies *all* the (nominal) equalities that we know about, with a view to exposing unifications. This requires a lot fewer iterations of the solver than before. There are extensive comments in TcSMonad: Note [inert_model: the inert model] Note [Adding an inert canonical constraint the InertCans] The big changes are * New inert_model field in InertCans * Functions addInertEq, addInertCan deal with adding a constraint, maintaining the model * A nice improvement is that unification variables can unify with fmvs, so that from, say alpha ~ fmv we get alpha := fmv See Note [Orientation of equalities with fmvs] in TcFlatten It's still not perfect, as the Note explains New flag -fconstraint-solver-iterations=n, allows us to control the number of constraint solver iterations, and in particular will flag up when it's more than a small number. Performance is generally slightly better: T5837 is a lot better for some reason.
* docs: Fix #10416Austin Seipp2015-06-104-4/+4
| | | | | | | | | | | | | | | | | | | | | | This commit fixes #10416 by using an EPS-based file-format for embedding images in the users guide, as opposed to a png. This is because 'latex' in some distributions is actually 'pdflatex', which supports reading the size of PNGs in DVI mode, while traditional latex does not. Rather than fiddle with the build a whole bunch, it's easy and simple to just convert the png into a eps file and embed that instead. But apparently we already had an EPS file, added in 1cce2f51656cfbd8c7933a914a4bd981792aa1e6! But it was quite large, so instead I used `convert` to shrink it down from 1.7MB to about 20kb, the same size as the original PDF (by using level3 postscript, which is not as wasteful.) Signed-off-by: Austin Seipp <austin@well-typed.com> Differential Revision: https://phabricator.haskell.org/D970 GHC Trac Issues: #10416
* Revert "docs: Fix #10416"Austin Seipp2015-06-081-1/+1
| | | | | | | This causes the buildbots and other users to choke when building the user documentation, but I haven't figured out why. This reverts commit dcaaa980dc59202744bb3888d9662f9a7558cdf6.
* docs: Fix #10416Austin Seipp2015-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | Summary: Apparently this was broken by b30c6012c7552c874281050d40e5a59012b2c5e7, but I can't reproduce the issue described there at all. Signed-off-by: Austin Seipp <austin@well-typed.com> Test Plan: Use my eyes to read the resulting user manual. Reviewers: hvr, thomie Reviewed By: thomie Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D958 GHC Trac Issues: #10416
* Move liftData and use it as a default definition for Lift.Edward Z. Yang2015-06-031-0/+12
| | | | | | | | | | | | | | | | | | | | | Summary: This should make it a lot easier to define Lift instances. See https://mail.haskell.org/pipermail/libraries/2015-May/025728.html for motivating discussion. I needed to muck out some code from Quote into Syntax to get the definition in the right place; but I would argue that code never really belonged in Quote to begin with. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: austin, ekmett, goldfire Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D923
* Allow Any return in foreign prim, fixes #10460.Edward Z. Yang2015-06-031-1/+2
| | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, goldfire, austin Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D935 GHC Trac Issues: #10460
* Remove outdated uBackpack docs.Edward Z. Yang2015-06-022-381/+0
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Suggest -H to improve GC productivity, fixes #10474.Edward Z. Yang2015-06-021-2/+6
| | | | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: none Reviewers: rwbarton, austin Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D937 GHC Trac Issues: #10474
* Detabify a programlisting in the User's Guide (#10425)Reid Barton2015-06-021-1/+1
|
* Typofix: missing period. (#10460)Edward Z. Yang2015-06-011-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Add information about allowed foreign prim args, see #10460.Edward Z. Yang2015-06-011-1/+7
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Replace tabs with spaces.Edward Z. Yang2015-06-011-118/+118
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Add missing name for FFI import (fixes #9950)erdeszt2015-05-251-1/+1
| | | | | | | | Signed-off-by: erdeszt <erdeszt@gmail.com> Reviewed By: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D902
* Backpack docs: Clarifications from today's Skype call.Edward Z. Yang2015-05-192-16/+28
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* ghci: Allow :back and :forward to take countsBen Gamari2015-05-192-6/+15
| | | | | | | | | These behave like the count arguments of the gdb `up` and `down` commands, allowing the user to quickly jump around in history. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D853
* user guide: correct documentation for -Wall (fixes #10386)Alexander Eyers-Taylor2015-05-191-8/+9
| | | | | | | | | | | | | | | This fixes the documentation for -Wall. As was done previously it leaves out deprecated flags and also fwarn-safe and fwarn-unsafe. I don't know if that was intended or not. -fwarn-safe and fwarn-unsafe are not mentioned on the warnings page at all instead they are mentioned in the safe haskell section. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D889 GHC Trac Issues: #10386
* Backpack docs: Rewrite type checking section to have a more concrete plan.Edward Z. Yang2015-05-142-200/+225
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Update Safe Haskell documentation.David Terei2015-05-121-264/+398
| | | | | | Biggest change is to document new overlapping instances behavior. We also add back in the explanation of GND being restricted, and improve the docs across the board.
* Backpack docs: Consistently italicize metavariables.Edward Z. Yang2015-05-122-85/+85
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Backpack docs: proper discourse on ModIface and ModDetails.Edward Z. Yang2015-05-112-26/+124
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Ignore out and toc files.Edward Z. Yang2015-05-111-0/+2
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Backpack docs: more carefully describe unification versus unioning.Edward Z. Yang2015-05-112-7/+6
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Support stage 1 Template Haskell (non-quasi) quotes, fixes #10382.Edward Z. Yang2015-05-112-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This commit adds stage 1 support for Template Haskell quoting, e.g. [| ... expr ... |], which is useful for authors of quasiquoter libraries that do not actually need splices. The TemplateHaskell extension now does not unconditionally fail; it only fails if the renamer encounters a splice that it can't run. In order to make sure the referenced data structures are consistent, template-haskell is now a boot library. There are some minor BC changes to template-haskell to make it boot on GHC 7.8. Note for reviewer: big diff changes are simply code being moved out of an ifdef; there was no other substantive change to that code. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, austin, goldfire Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D876 GHC Trac Issues: #10382
* Revert stage 1 template-haskell. This is a combination of 5 commits.Edward Z. Yang2015-05-092-8/+3
| | | | | | | | | | | | | | | | | | | | | | Revert "Quick fix: drop base bound on template-haskell." This reverts commit 3c70ae032e4361b203dfcf22b0a424e8838a5037. Revert "Always do polymorphic typed quote check, c.f. #10384" This reverts commit 9a43b2c1f78b3cf684646af64b9b67dc8079f58f. Revert "RnSplice's staging test should be applied for quotes in stage1." This reverts commit eb0ed4030374af542c0a459480d32c8d4525e48d. Revert "Split off quotes/ from th/ for tests that can be done on stage1 compiler." This reverts commit 21c72e7d38c96ac80d31addf67ae4b3c7a6c3bbb. Revert "Support stage 1 Template Haskell (non-quasi) quotes, fixes #10382." This reverts commit 28257cae77023f2ccc4cc1c0cd1fbbd329947a00.
* Support stage 1 Template Haskell (non-quasi) quotes, fixes #10382.Edward Z. Yang2015-05-092-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This commit adds stage 1 support for Template Haskell quoting, e.g. [| ... expr ... |], which is useful for authors of quasiquoter libraries that do not actually need splices. The TemplateHaskell extension now does not unconditionally fail; it only fails if the renamer encounters a splice that it can't run. In order to make sure the referenced data structures are consistent, template-haskell is now a boot library. In the following patches, there are: - A few extra safety checks which should be enabled in stage1 - Separation of the th/ testsuite into quotes/ which can be run on stage1 Note for reviewer: big diff changes are simply code being moved out of an ifdef; there was no other substantive change to that code. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, austin, goldfire Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D876 GHC Trac Issues: #10382
* Backpack docs: AvailInfo plan, and why selectors are hard.Edward Z. Yang2015-05-082-14/+109
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Backpack docs: meditate on AvailTC with four examples.Edward Z. Yang2015-05-072-26/+233
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* rts: add "-no-rtsopts-suggestions" optionJavran Cheng2015-05-062-0/+29
| | | | | | | | | | | | | | | | | | Depends on D767 Setting this flag prevents RTS from giving RTS suggestions like "Use `+RTS -Ksize -RTS' to increase it." According to the comment @rwbarton made in #9579, sometimes "+RTS" suggestions don't make sense (e.g. when the program is precompiled and installed through package managers), we can encourage people to distribute binaries with either "-no-rtsopts-suggestions" or "-rtsopts". Reviewed By: erikd, austin Differential Revision: https://phabricator.haskell.org/D809 GHC Trac Issues: #9579
* Permit empty closed type familiesAdam Gundry2015-05-041-1/+13
| | | | | | | | | | | | | | | | | | | Fixes #9840 and #10306, and includes an alternative resolution to #8028. This permits empty closed type families, and documents them in the user guide. It updates the Haddock submodule to support the API change. Test Plan: Added `indexed-types/should_compile/T9840` and updated `indexed-types/should_fail/ClosedFam4` and `th/T8028`. Reviewers: austin, simonpj, goldfire Reviewed By: goldfire Subscribers: bgamari, jstolarek, thomie, goldfire Differential Revision: https://phabricator.haskell.org/D841 GHC Trac Issues: #9840, #10306
* Typeset Backpack semantic entities in figure, figure-ify all asides.Edward Z. Yang2015-04-302-22/+47
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Typo fixes (mostly in comments)Gabor Greif2015-04-301-2/+2
|
* Typeset Backpack syntax in a figureSimon Peyton Jones2015-04-301-13/+25
|
* Backpack docs: merge backpack-shaping into algorithm, sigs no longer provideEdward Z. Yang2015-04-285-934/+376
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Full type checking Backpack details.ghc-julyEdward Z. Yang2015-04-272-34/+180
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Backpack docs: explain alternate merging scheme.Edward Z. Yang2015-04-272-13/+47
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Flesh out some more Backpack examples in the merging section.Edward Z. Yang2015-04-272-2/+85
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Updates to Backpack documentation based on recent visit to MSRC.Edward Z. Yang2015-04-259-595/+1491
| | | | | | Includes lots of shaping examples, and a shaping algorithm description. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Change default roles in hs-boot files. (#9204)Richard Eisenberg2015-04-242-2/+13
| | | | Test case: roles/should_compile/T9204b
* Fix the formal operational semantics (#10121)Richard Eisenberg2015-04-245-30/+48
| | | | | This adapts the work of Christiaan Baaij to present a sensible operational semantics for FC with mutual recursion.
* Better documetation of higher rank typesSimon Peyton Jones2015-04-221-14/+48
| | | | In response to suggestions on Trac #10281
* Improve error reporting for impredicative typesSimon Peyton Jones2015-04-221-7/+7
| | | | | Don't suggest -XImpredicativeTypes; and document its flakiness Fixes Trac #10325
* Implement -f[no-]print-unicode-syntax flag for unicode syntax output (#8959)Bertram Felgenhauer2015-04-142-4/+20
| | | | | | | | | | | | | | There is currently no way to separate whether UnicodeSyntax is accepted for input from the corresponding output syntax using unicode symbols. This patch implements a separate flag for affecting ghc(i)'s output. Signed-off-by: Bertram Felgenhauer <int-e@gmx.de> Reviewed By: nomeata, austin Differential Revision: https://phabricator.haskell.org/D807 GHC Trac Issues: #8959
* Typos in error messages and in commentsGabor Greif2015-04-102-2/+2
|
* Axe one-shot sig-ofEdward Z. Yang2015-04-071-5/+5
| | | | | | | | | | | | | | | | | Summary: We're getting rid of -sig-of foo:A usage, because it doesn't make sense in any compilation mode besides one-shot, and we don't expect users to use it anyway. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D789
* Support for multiple signature files in scope.Edward Z. Yang2015-04-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: A common pattern when programming with signatures is to combine multiple signatures together (signature linking). We achieve this by making it not-an-error to have multiple, distinct interface files for the same module name, as long as they have the same backing implementation. When a user imports a module name, they get ALL matching signatures dumped into their scope. On the way, I refactored the module finder code, which now distinguishes between exact finds (when you had a 'Module') and regular finds (when you had a 'ModuleName'). I also refactored the package finder code to use a Monoid instance on LookupResult to collect together various results. ToDo: At the moment, if a signature is declared in the local package, it completely overrides any remote signatures. Eventually, we'll want to also pull in the remote signatures (or even override the local signature, if the full implementation is available.) There are bunch of ToDos in the code for what to do once this is done. ToDo: At the moment, whenever a module name lookup occurs in GHCi and we would have seen a signature, we instead continue and return the Module for the backing implementation. This is correct for most cases, but there might be some situations where we want something a little more fine-grained (e.g. :browse should only list identifiers which are available through the in-scope signatures, and not ALL of them.) Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, hvr, austin Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D790 GHC Trac Issues: #9252
* Add +RTS -O<size> to control the minimum old gen sizeSimon Marlow2015-04-071-0/+15
|
* User's guide: .a files can be 2-2.5x larger with -split-objsThomas Miedema2015-04-061-4/+4
| | | | | | | | And remove warning. This feature is available through cabal even. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D801
* Remove an incorrect statement about -fwarn-tabsDave Laing2015-04-031-2/+0
| | | | | | | | Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D772 GHC Trac Issues: #10213
* docs: remove unused -ddump flags from users guideJavran Cheng2015-04-032-32/+0
| | | | | | | | According to https://phabricator.haskell.org/rGHC6e771fa19dbb7edc116b5974124229a2725103e8 Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D793