summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* Update userguide for new `-fwarn-trustworthy-safe` flag.David Terei2014-11-123-3/+59
|
* Improve documentation of -ticky a littleSimon Peyton Jones2014-11-113-3/+9
|
* [Docs] Fixed several broken urls in user's guideKonstantin Zudov2014-11-072-5/+5
| | | | | | | | | | | | Summary: Some of the links in user's guide were broken, I've found the files they used to link and updated urls. Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D418
* Update User's Guide, cleanup DynFlagsJan Stolarek2014-11-063-293/+700
|
* Remove -ddump-core-pipeline flagJan Stolarek2014-11-061-0/+6
|
* Remove -ddump-simpl-phases flagJan Stolarek2014-11-062-17/+0
|
* Link to oneShot from the User's GuideJoachim Breitner2014-11-031-0/+4
| | | | thanks to Jan for nudging.
* Update release notes for #9262 #8953 #9084.Richard Eisenberg2014-11-021-0/+28
|
* Add notes on change to hGetContents semanticsDavid Feuer2014-10-301-6/+16
| | | | | | | | | | | | | | | | Summary: Additionally, move Unicode 7.0 update notice from the compiler section to the base libraries section. Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, simonmar Projects: #ghc Differential Revision: https://phabricator.haskell.org/D401
* Add __GLASGOW_HASKELL_TH__=YES/NO to CPP definitionsJoachim Breitner2014-10-291-0/+15
| | | | | | | | | | | | | | Test Plan: None really. Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D386 GHC Trac Issues: #9734
* Implementation of hsig (module signatures), per #9252Edward Z. Yang2014-10-241-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Module signatures, like hs-boot files, are Haskell modules which omit value definitions and contain only signatures. This patchset implements one particular aspect of module signature, namely compiling them against a concrete implementation. It works like this: when we compile an hsig file, we must be told (via the -sig-of flag) what module this signature is implementing. The signature is compiled into an interface file which reexports precisely the entities mentioned in the signature file. We also verify that the interface is compatible with the implementation. This feature is useful in a few situations: 1. Like explicit import lists, signatures can be used to reduce sensitivity to upstream changes. However, a signature can be defined once and then reused by many modules. 2. Signatures can be used to quickly check if a new upstream version is compatible, by typechecking just the signatures and not the actual modules. 3. A signature can be used to mediate separate modular development, where the signature is used as a placeholder for functionality which is loaded in later. (This is only half useful at the moment, since typechecking against signatures without implementations is not implemented in this patchset.) Unlike hs-boot files, hsig files impose no performance overhead. This patchset punts on the type class instances (and type families) problem: instances simply leak from the implementation to the signature. You can explicitly specify what instances you expect to have, and those will be checked, but you may get more instances than you asked for. Our eventual plan is to allow hiding instances, but to consider all transitively reachable instances when considering overlap and soundness. ToDo: signature merging: when a module is provided by multiple signatures for the same base implementation, we should not consider this ambiguous. ToDo: at the moment, signatures do not constitute use-sites, so if you write a signature for a deprecated function, you won't get a warning when you compile the signature. Future work: The ability to feed in shaping information so that we can take advantage of more type equalities than might be immediately evident. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate and new tests Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, ezyang, carter, goldfire Differential Revision: https://phabricator.haskell.org/D130 GHC Trac Issues: #9252
* Check in up-to-date PDF copies of Backpack docs. [skip ci]Edward Z. Yang2014-10-232-0/+0
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* More updates to Backpack manual [skip ci]Edward Z. Yang2014-10-231-147/+112
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Enabled warn on tabs by default (fixes #9230)Mateusz Lenik2014-10-211-0/+6
| | | | | | | | | | | | | | | | | | | | | | Summary: This revision enables -fwarn-tabs by default and add a suppression flag, so that GHC compilation won't fail when some files contain tab characters. Test Plan: Additional test case, T9230, was added to cover that change. Reviewers: austin Reviewed By: austin Subscribers: simonmar, ezyang, carter, thomie, mlen Differential Revision: https://phabricator.haskell.org/D255 GHC Trac Issues: #9230 Conflicts: testsuite/driver/testlib.py
* Add release note about Unicode 7.0Austin Seipp2014-10-211-0/+6
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix typo in -XConstraintKinds docsRicky Elrod2014-10-211-1/+1
| | | | | | | | | | | | | | | | | Summary: Fix a minor typo that seems to have existed for a long time. Signed-off-by: Ricky Elrod <ricky@elrod.me> Test Plan: My eyes. Reviewers: austin, #ghc Reviewed By: austin, #ghc Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D356
* Remove extra periodMatt Kraai2014-10-211-1/+1
| | | | | | | | | | | | | | | | | | | Summary: The documentation has an extra period, which is rendered as > However, GHCi also has support for interactively loading compiled > code, as well as supporting all[2] the language extensions that GHC > provides. . Removing the extra period should fix this problem. Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D326
* Rewrite section 1 of the Backpack manual. [skip ci]Edward Z. Yang2014-10-101-202/+344
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Update some out-of-date things in Backpack implementation doc [skip ci]Edward Z. Yang2014-10-071-27/+36
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Initial commit of the Backpack manual [skip ci]Edward Z. Yang2014-10-072-0/+330
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Add support for LINE pragma in template-haskellEric Mertens2014-10-072-1/+7
| | | | | | | | | | | | | | | | | | Summary: Provide a way to generate {-# LINE #-} pragmas when generating Decs in Template Haskell. This allows more meaningful line numbers to be reported in compile-time errors for dynamically generated code. Test Plan: Run test suite Reviewers: austin, hvr Reviewed By: austin Subscribers: hvr, simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D299
* Implement `MIN_VERSION_GLASGOW_HASKELL()` macroHerbert Valerio Riedel2014-10-051-0/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This exposes the `cProjectPatchLevel{1,2}` value at the CPP level to allow it to be used in CPP conditionals. Concretely, GHC 7.10.2.20150623 would result in #define __GLASGOW_HASKELL__ 710 #define __GLASGOW_HASKELL_PATCHLEVEL1__ 2 #define __GLASGOW_HASKELL_PATCHLEVEL2__ 20150623 while GHC 7.10.3 results in #define __GLASGOW_HASKELL__ 710 #define __GLASGOW_HASKELL_PATCHLEVEL1__ 3 and finally GHC 7.9.20141009 results in #define __GLASGOW_HASKELL__ 709 #define __GLASGOW_HASKELL_PATCHLEVEL1__ 20141009 As it's error-prone to properly express CPP conditionals for testing GHC multi-component versions, a new macro `MIN_VERSION_GLASGOW_HASKELL()` is provided (also via the new CPP include file `ghcversion.h`) Finally, in order to make it easier to define the new CPP macro `MIN_VERSION_GLASGOW_HASKELL()`, a new default-included `include/ghcversion.h` is used for the new CPP definitions. Reviewed By: ekmett, austin, #ghc Differential Revision: https://phabricator.haskell.org/D66
* Make foldr2 a bit more strictDavid Feuer2014-10-011-1/+8
| | | | in order to make its RULES semantics preserving. This fixes #9495.
* Document that -dynamic is needed for loading compiled code into GHCiSimon Marlow2014-09-291-1/+6
|
* User's Guide: Fix compiler plugin example (#9641, #7682)Reid Barton2014-09-271-2/+2
| | | | The previous fix was incorrectly eta-reduced.
* User's Guide: various unfolding-related fixesReid Barton2014-09-252-8/+15
| | | | | | | | | | | | Test Plan: harbormaster Reviewers: austin Reviewed By: austin Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D243
* Link from 7.6.3.4 to 7.7.2.6 in the user guide.Jan Stolarek2014-09-251-0/+5
| | | | | | This point the user that there is a relation between the UndecibadleInstances flag and the type families, not just type classes.
* Spelling error in flags.xmlSimon Peyton Jones2014-09-191-1/+1
| | | | Fixes Trac #9528
* Increase -fcontext-stack=N default to 100Simon Peyton Jones2014-09-191-1/+1
| | | | This addresses Trac #5395
* Add -fwarn-context-quantification (#4426)Krzysztof Gogolewski2014-09-183-13/+59
| | | | | | | | | | | | | | | | | | | | | | Summary: This warning (enabled by default) reports places where a context implicitly binds a type variable, for example type T a = {-forall m.-} Monad m => a -> m a Also update Haddock submodule. Test Plan: validate Reviewers: hvr, goldfire, simonpj, austin Reviewed By: austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D211 GHC Trac Issues: #4426
* Fix formatting bug in core-spec.Richard Eisenberg2014-09-183-2/+4
|
* Fix typo "Rrestriction" in user's guide (lspitzner, #9528)Reid Barton2014-09-161-1/+1
|
* Typos in commentsGabor Greif2014-08-291-1/+1
|
* Add release notes about ghc-pkg change, and Cabal dep removalDuncan Coutts2014-08-291-0/+43
| | | | | | | | | That ghc-pkg doesn't support single-file style databases, and that the ghc library does not depend on Cabal any more. We don't need to document the ghc-pkg change in the ghc-pkg section itself, since ghc-pkg init is already described there, and that is the right thing. The old deprecated approach was not documented.
* Improve documentation of record wildcardsSimon Peyton Jones2014-08-251-3/+13
| | | | | | In particular mention that they aren't allowed for record updates. Triggered by Trac #9437
* Fix prepositions in the documentation of -rdynamic.Facundo Domínguez2014-08-202-4/+4
|
* Use absolute links to Cabal docs from the GHC users guide (#9154)Bob Ippolito2014-08-191-2/+2
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Implement -rdynamic in Linux and Windows/MinGW32.Facundo Domínguez2014-08-182-0/+24
| | | | | | | | | | | | | | | | | | Summary: In Linux, it is a synonym for -optl -rdynamic. In Windows, it is a synonym for -optl -export-all-symbols. Test Plan: validate Reviewers: simonmar, austin Reviewed By: simonmar, austin Subscribers: mboes, phaskell, simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D102 GHC Trac Issues: #9381
* Update list of flags implied by -XGADTs in User's Guide section on GADTsReid Barton2014-08-181-1/+2
|
* Fix quasi-quoter documentation (#9448)Sergey Vinokurov2014-08-181-2/+2
|
* Update manual (#9200).Richard Eisenberg2014-08-121-43/+62
|
* Implement the final change to INCOHERENT from Trac #9242Simon Peyton Jones2014-08-081-45/+43
| | | | | | | | | | | | | | | | The change here is to make INCOHERENT slightly more permissive: if the selected candidate is incoherent then ignore all unifying candidates This allows us to move the {-# INCOHERENT #-} pragma from from instance Typeable (f a) to Typeable (n:Nat) and Typable (s:Symbol) where it belongs, and where Trac #9242 said it should be. I don't think this will affect anyone. I've updated the user manual.
* [no-ci] Minor bugfixes in Backpack docs.Edward Z. Yang2014-08-051-15/+10
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Thinning and renaming modules from packages on the command line.Edward Z. Yang2014-08-052-5/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch set adds support for extra syntax on -package and related arguments which allow you to thin and rename modules from a package. For example, this argument: -package "base (Data.Bool as Bam, Data.List)" adds two more modules into scope, Bam and Data.List, without adding any of base's other modules to scope. These flags are additive: so, for example, saying: -hide-all-packages -package base -package "base (Data.Bool as Bam)" will provide both the normal bindings for modules in base, as well as the module Bam. There is also a new debug flag -ddump-mod-map which prints the state of the module mapping database. H = hidden, E = exposed (so for example EH says the module in question is exported, but in a hidden package.) Module suggestions have been minorly overhauled to work better with reexports: if you have -package "base (Data.Bool as Bam)" and mispell Bam, GHC will suggest "Did you mean Bam (defined via package flags to be base:Data.Bool)"; and generally you will get more accurate information. Also, fix a bug where we suggest the -package flag when we really need the -package-key flag. NB: The renaming afforded here does *not* affect what wired in symbols GHC generates. (But it does affect implicit prelude!) ToDo: add 'hiding' functionality, to make it easier to support the alternative prelude use-case. ToDo: Cabal support Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: new tests and validate Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D113 GHC Trac Issues: #9375
* Package keys (for linking/type equality) separated from package IDs.Edward Z. Yang2014-08-052-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch set makes us no longer assume that a package key is a human readable string, leaving Cabal free to "do whatever it wants" to allocate keys; we'll look up the PackageId in the database to display to the user. This also means we have a new level of qualifier decisions to make at the package level, and rewriting some Safe Haskell error reporting code to DTRT. Additionally, we adjust the build system to use a new ghc-cabal output Make variable PACKAGE_KEY to determine library names and other things, rather than concatenating PACKAGE/VERSION as before. Adds a new `-this-package-key` flag to subsume the old, erroneously named `-package-name` flag, and `-package-key` to select packages by package key. RFC: The md5 hashes are pretty tough on the eye, as far as the file system is concerned :( ToDo: safePkg01 test had its output updated, but the fix is not really right: the rest of the dependencies are truncated due to the fact the we're only grepping a single line, but ghc-pkg is wrapping its output. ToDo: In a later commit, update all submodules to stop using -package-name and use -this-package-key. For now, we don't do it to avoid submodule explosion. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D80
* docs: fix typo: 'OVERLAPPINGP' -> 'OVERLAPPING'Sergei Trofimovich2014-08-041-1/+1
| | | | | | | | | | | | | | Summary: Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: proofread Reviewers: ezyang, austin Reviewed By: ezyang, austin Subscribers: phaskell, ezyang, simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D100
* [backpack] More revisions to various pieces.Edward Z. Yang2014-08-011-125/+84
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Unbreak build.Gabor Pali2014-08-011-2/+1
|
* Typo fixesGabor Greif2014-08-011-3/+3
|
* Complete work on new OVERLAPPABLE/OVERLAPPING pragmas (Trac #9242)Simon Peyton Jones2014-07-311-29/+28
| | | | | | | | | | | | | | | | | * Deprecate -XOverlappingInstances * Update test suite. Several tests even had entirely unnecessary uses of -XOverlappingInstances * Update user manual with a careful description of the instance resolution story * Fix an outright bug in the handling of duplidate instances in GHCi, which are meant to silently overwrite the earlier duplicate. The logic was right for family instances but was both more complicated, and plain wrong, for class instances. (If you are interested, the bug was that we were eliminating the duplicate from the InstEnv, but not from the [ClsInst] held in tcg_insts.) Test is ghci044a.