summaryrefslogtreecommitdiff
path: root/libraries/template-haskell/template-haskell.cabal
Commit message (Collapse)AuthorAgeFilesLines
* Prepare source-tree for base-4.13 MFP bumpHerbert Valerio Riedel2019-01-181-1/+1
|
* Bump template-haskell version to 2.15.0.0Ryan Scott2018-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Commit 512eeb9bb9a81e915bfab25ca16bc87c62252064 (`More explicit foralls (GHC Proposal 0007)`) introduced breaking changes to the Template Haskell AST. As a consequence of this, there are libraries in the wild that now fail to build on GHC HEAD (for instance, `th-abstraction`). This properly bumps the `template-haskell` library's version number to `2.15.0.0` so that these libraries can guard against these changes using `MIN_VERSION_template_haskell`. Test Plan: ./validate Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, carter GHC Trac Issues: #15818 Differential Revision: https://phabricator.haskell.org/D5272
* Modifications to support loading GHC into GHCiMichael Sloan2018-07-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change was previously part of [D4904](https://phabricator.haskell.org/D4904), but is being split off to aid in getting this reviewed and merged. * The compiler code is built with `NoImplicitPrelude`, but GHCi's modules are incompatible with it. So, this adds the pragma to all GHCi modules that didn't have it, and adds imports of Prelude. * In order to run GHC within itself, a `call of 'initGCStatistics` needed to be skipped. This uses CPP to skip it when `-DGHC_LOADED_INTO_GHCI` is set. * There is an environment variable workaround suggested by Ben Gamari [1], where `_GHC_TOP_DIR` can be used to specify GHC's top dir if `-B` isn't provided. This can be used to solve a problem where the GHC being run within GHCi attempts to look in `inplace/lib/lib/` instead of `inplace/lib/`. [1]: https://phabricator.haskell.org/D4904#135438 Reviewers: goldfire, bgamari, erikd, alpmestan Reviewed By: alpmestan Subscribers: alpmestan, lelf, rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4986
* configure: Set version to 8.7ghc-8.7-startBen Gamari2018-06-201-1/+1
| | | | Bumps haddock submodule.
* configure: Bump version to 8.6.0Richard Eisenberg2018-06-191-1/+1
| | | | Bumps haddock submodule.
* Bump base to version 4.12.0.0Ryan Scott2018-04-191-1/+1
| | | | | | | | | | | | | | | | Summary: Bumps several submodules. Test Plan: ./validate Reviewers: hvr, bgamari Reviewed By: bgamari Subscribers: thomie, carter GHC Trac Issues: #15018 Differential Revision: https://phabricator.haskell.org/D4609
* Bump template-haskell to 2.14.0.0Ryan Scott2018-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Summary: There has been at least one breaking change to `template-haskell` (the removal of `qAddForeignFile`) which is causing packages like `th-orphans` and `singletons` to fail to build with GHC HEAD. Let's bump `template-haskell`'s major version number so that these packages can properly guard against these changes. While I was in town, I also started a `changelog` section for the next major version of `template-haskell`, and copied over finishing touches for `template-haskell-2.13.0.0`. Test Plan: ./validate Reviewers: bgamari Reviewed By: bgamari Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D4558
* Bump version to 8.5ghc-8.5-startBen Gamari2017-12-041-1/+1
| | | | The ghc-8.4 branch has now been cut. Updates the haddock submodule.
* Bump template-haskell to 2.13.0.0Ryan Scott2017-09-251-1/+1
| | | | | | | | | | | | | | | Summary: Now that `MonadIO` is a superclass of `Quasi`, it's a good time to bump the `template-haskell` version so that libraries can accommodate the change using CPP. Test Plan: ./validate Reviewers: bgamari, austin Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D4007
* Bump base to 4.11.0.0Ben Gamari2017-09-211-1/+1
| | | | | | | | | | Bumps numerous submodules. Reviewers: austin, hvr Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3974
* Remove now redundant cabal conditionals in {ghc,template-haskell}.cabalHerbert Valerio Riedel2017-09-091-10/+4
| | | | | | | | | | | | | | In the past we needed the construct below for wired-in packages, but since GHC 8.0 (which we require at least for stage0 now) the CLI has stabilised, so we can unconditionally use `-this-unit-id` since GHC 8.0. if impl( ghc >= 7.11 ) ghc-options: -this-unit-id template-haskell else if impl( ghc >= 7.9 ) ghc-options: -this-package-key template-haskell else ghc-options: -package-name template-haskell
* Merge types and kinds in DsMetaRyan Scott2017-07-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Types and kinds are now the same in GHC... well, except in the code that involves Template Haskell, where types and kinds are given separate treatment. This aims to unify that treatment in the `DsMeta` module. The gist of this patch is replacing all uses of `repLKind` with `repLTy`. This is isn't quite as simple as one might imagine, since `repLTy` returns a `Core (Q Type)` (a monadic expression), whereas `repLKind` returns a `Core Kind` (a pure expression). This causes many awkward impedance mismatches. One option would be to change every combinator in `Language.Haskell.TH.Lib` to take `KindQ` as an argument instead of `Kind`. But this would be a breaking change of colossal proportions. Instead, this patch takes a somewhat different approach. This migrates the existing `Language.Haskell.TH.Lib` module to `Language.Haskell.TH.Lib.Internal`, and changes all `Kind`-related combinators in `Language.Haskell.TH.Lib.Internal` to live in `Q`. The new `Language.Haskell.TH.Lib` module then re-exports most of `Language.Haskell.TH.Lib.Internal` with the exception of the `Kind`-related combinators, for which it redefines them to be their current definitions (which don't live in `Q`). This allows us to retain backwards compatibility with previous `template-haskell` releases, but more importantly, it allows GHC to make as many changes to the `Internal` code as it wants for its purposes without fear of disrupting the public API. This solves half of #11785 (the other half being `TcSplice`). Test Plan: ./validate Reviewers: goldfire, austin, bgamari Reviewed By: goldfire Subscribers: rwbarton, thomie GHC Trac Issues: #11785 Differential Revision: https://phabricator.haskell.org/D3751
* configure.ac: Bump version to 8.3ghc-8.3-startBen Gamari2017-03-091-1/+1
| | | | Bumps haddock submodule
* base: Bump version to 4.10.0.0Ben Gamari2016-12-151-1/+1
| | | | Updates a number of submodules.
* template-haskell: Version bumpBen Gamari2016-11-121-1/+1
|
* Move Extension type to ghc-boot-thBen Gamari2016-05-161-3/+3
| | | | | | | | | | | | | | | | | | | | This creates a new package, `ghc-boot-th`, to contain the `Extension` type, which now lives in `GHC.LanguageExtension.Type`. This ensures that the transitive dependency set of the `template-haskell` package remains minimal. The `GHC.LanguageExtensions.Type` module is also re-exported by `ghc-boot`, which provides an orphan `binary` instance as well. Test Plan: Validate Reviewers: goldfire, thomie, hvr, austin Reviewed By: thomie Subscribers: RyanGlScott, thomie, erikd, ezyang Differential Revision: https://phabricator.haskell.org/D2224
* template-haskell: Drop use of Rank2Types/PolymorphicComponentsHerbert Valerio Riedel2016-03-081-4/+6
| | | | | | | | As per #6032, `Rank2Types` and `PolymorphicComponents` have been deprecated in favour of `RankNTypes`. also update `other-extensions` in template-haskell.cabal flag to reflect reality.
* Switch from -this-package-key to -this-unit-id.Edward Z. Yang2016-01-191-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A small cosmetic change, but we have to do a bit of work to actually support it: - Cabal submodule update, so that Cabal passes us -this-unit-id when we ask for it. This includes a Cabal renaming to be consistent with Unit ID, which makes ghc-pkg a bit more scrutable. - Build system is updated to use -this-unit-id rather than -this-package-key, to avoid deprecation warnings. Needs a version test so I resurrected the old test we had (sorry rwbarton!) - I've *undeprecated* -package-name, so that we are in the same state as GHC 7.10, since the "correct" flag will have only entered circulation in GHC 8.0. - I removed -package-key. Since we didn't deprecate -package-id I think this should not cause any problems for users; they can just change their code to use -package-id. - The package database is indexed by UNIT IDs, not component IDs. I updated the naming here. - I dropped the signatures field from ExposedModule; nothing was using it, and instantiatedWith from the package database field. - ghc-pkg was updated to use unit ID nomenclature, I removed the -package-key flags but I decided not to add any new flags for now. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: austin, hvr, bgamari Reviewed By: bgamari Subscribers: 23Skidoo, thomie, erikd Differential Revision: https://phabricator.haskell.org/D1780
* Bump GHC HEAD's Version from 7.11 to 8.1ghc-8.1-startHerbert Valerio Riedel2015-12-301-1/+1
| | | | This updates the haddock submodule
* Synchronise ghci-package version with ghc-packageHerbert Valerio Riedel2015-12-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | In order to simplify the task, the version munging logic has been radically simplified: Previously, in cases where the version contained dates as version components, the build-system would munge the version of the stage1 ghc package before registering the `ghc` package. However, this hack was already questionable at the time of its introduction (c.f. 7b45c46cbabe1288ea87bd9b94c57e010ed17e60). Simplifying the build-systems by avoiding such hacks may also help the shaking-up-ghc effort. So now we simply munge directly via the `.cabal` files, which gives a simpler picture, as now every stage is munged the same. Munging is only active when the first patch-level version component is a date. So stable snapshots and release candidates are unaffacted (as those have the date in the second patch-level version component) Reviewers: simonmar, bgamari, austin, thomie, ezyang Reviewed By: bgamari, thomie, ezyang Differential Revision: https://phabricator.haskell.org/D1673
* Expose enabled language extensions to THBen Gamari2015-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This exposes `template-haskell` functions for querying the language extensions which are enabled when compiling a module, - an `isExtEnabled` function to check whether an extension is enabled - an `extsEnabled` function to obtain a full list of enabled extensions To avoid code duplication this adds a `GHC.LanguageExtensions` module to `ghc-boot` and moves `DynFlags.ExtensionFlag` into it. A happy consequence of this is that the ungainly `DynFlags` lost around 500 lines. Moreover, flags corresponding to language extensions are now clearly distinguished from other flags due to the `LangExt.*` prefix. Updates haddock submodule. This fixes #10820. Test Plan: validate Reviewers: austin, spinda, hvr, goldfire, alanz Reviewed By: goldfire Subscribers: mpickering, RyanGlScott, hvr, simonpj, thomie Differential Revision: https://phabricator.haskell.org/D1200 GHC Trac Issues: #10820
* template-haskell: drop `TemplateHaskell` requirementHerbert Valerio Riedel2015-11-171-1/+0
| | | | | | | | `other-extensions: TemplateHaskell` is inaccurate: It's not required to compile `template-haskell` (otherwise we wouldn't be able to build that package via `ghc-stage1`...) This has been discovered while working on #11102
* Bump `base` version to 4.9.0.0 (closes #11026)Herbert Valerio Riedel2015-11-011-1/+1
| | | | | | | | | | | This also relaxes a few upper bounds on base in the ghc.git repo; This required a mass-rewrite in testsuite/ sed -i s,base-4.8.2.0,base-4.9.0.0,g $(git grep -Fl 'base-4.8.2.0') because it turns out the testsuite is still sensitive to package version changes.
* Rename package key to unit ID, and installed package ID to component ID.Edward Z. Yang2015-10-141-1/+1
| | | | | | Comes with Haddock submodule update. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Make dataToQa aware of Data instances which use functions to implement toConstrRyanGlScott2015-10-131-0/+1
| | | | | | | | | | | | | | | | | | | | Trac #10796 exposes a way to make `template-haskell`'s `dataToQa` function freak out if using a `Data` instance that produces a `Constr` (by means of `toConstr`) using a function name instead of a data constructor name. While such `Data` instances are somewhat questionable, they are nevertheless present in popular libraries (e.g., `containers`), so we can at least make `dataToQa` aware of their existence. In order to properly distinguish strings which represent variables (as opposed to data constructors), it was necessary to move functionality from `Lexeme` (in `ghc`) to `GHC.Lexeme` in a new `ghc-boot` library (which was previously named `bin-package-db`). Reviewed By: goldfire, thomie Differential Revision: https://phabricator.haskell.org/D1313 GHC Trac Issues: #10796
* Bump template-haskell to new major version 2.11Herbert Valerio Riedel2015-08-121-1/+1
| | | | | | | ...since we already have introduced backward compat breakage that breaks packages such as QuickCheck-2.8.1 Differential Revision: https://phabricator.haskell.org/D1144
* Make template-haskell build with GHC 7.6, fixes bootstrap build.Edward Z. Yang2015-05-111-2/+1
| | | | | | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate on 7.6 Reviewers: austin, goldfire Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D885
* Support stage 1 Template Haskell (non-quasi) quotes, fixes #10382.Edward Z. Yang2015-05-111-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* Quick fix: drop base bound on template-haskell.Edward Z. Yang2015-05-091-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Bump `base` version to 4.8.0.0 for realHerbert Valerio Riedel2014-09-091-2/+4
| | | | | | | | | | | | | | | | This commit updates several submodules in order to bump the upper bounds on `base` of most boot packages Moreover, this updates some of the test-suite cases which have version numbers hardcoded within. However, I'm not sure if this commit didn't introduce the following two test-failures ghc-api T8628 [bad stdout] (normal) ghc-api T8639_api [bad stdout] (normal) This needs investigation
* Package keys (for linking/type equality) separated from package IDs.Edward Z. Yang2014-08-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Drop `template-haskell`'s build-dep on `containers`Herbert Valerio Riedel2014-04-251-1/+3
| | | | | | | | | | | | | | | | | | | This is an attempt to address https://github.com/haskell/cabal/issues/1811 by replicating the less than 100 lines of code actually used from the containers package into an internal non-exposed `template-haskell` module. Moreover, `template-haskell` does not expose the `Map` type, so this change should have no visible effect on the public API. It may turn out that `Data.Map` is not necessary and that even a simple list-based associative list (`Prelude.lookup`) may suffice. However, in order to avoid any regressions, this commit takes the safe route and just clones `Data.Map` for now. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Update Cabal source-repository entries (re #8545)Herbert Valerio Riedel2014-04-191-6/+2
| | | | | | | | This adapts the source-repository entries to match the new situation of base.git, ghc-prim.git, integer-gmp.git, integer-simple.git, and template-haskell.git being folded into ghc.git Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Bump to 2.10.0.0Herbert Valerio Riedel2014-03-231-3/+3
| | | | | | Due to backward-incompat changes in 57b662c (re #7021) Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Refactor & modernize `.cabal` to `cabal-version>=1.10`Herbert Valerio Riedel2013-10-241-23/+47
| | | | | | | | | | | | Updates the `description` include a link to the Haskell wiki and list potantially used extensions in `other-extensions`. This also sets proper `build-depends` which effectively tie `template-haskell` to GHC 7.7/7.8 and thus should help keep `cabal-install` from attempting to compile the `template-haskell` package with older/newer GHCs. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Update Git repo URL in `.cabal` fileHerbert Valerio Riedel2013-09-111-1/+1
|
* Bump base lower version to 4.5 (the version GHC 7.4.1 came with)Ian Lynagh2012-11-301-1/+1
|
* Bump version number following new policyIan Lynagh2012-11-301-1/+1
| | | | | We now keep the HEAD version numbers as values which would be suitable for immediate release.
* Add comment to .cabal file saying what GHC 7.6.1 shipped withIan Lynagh2012-11-301-0/+1
|
* Bump version to 2.8.0.0Paolo Capriotti2012-07-191-1/+1
|
* Remove Language.Haskell.TH.Syntax.InternalsSimon Peyton Jones2012-07-161-1/+0
| | | | | | | It didn't contain much, and the approved import route is Language.Haskell.TH, so in effect the Syntax module is already an internal one. Thanks to Reiner Pope.
* Bump version numberIan Lynagh2011-07-061-1/+1
|
* Update source-repository in the .cabal file to point to the git repoIan Lynagh2011-04-051-2/+2
|
* Put FlexibleInstances in PprLib alonesimonpj@microsoft.com2010-12-141-1/+1
|
* Bump version to 2.5.0.0Ian Lynagh2010-09-171-1/+1
|
* Tighten the base dep; fixes trac #3809Ian Lynagh2010-01-161-1/+1
|
* bump base dep; apparently base4 is now requiredIan Lynagh2009-12-151-1/+1
|
* Fix "Cabal check" warningsIan Lynagh2009-08-111-1/+2
|
* abstractify ModName, PkgName and OccName; drop dependency on packedstringSimon Marlow2009-06-121-2/+3
|