summaryrefslogtreecommitdiff
path: root/libraries/template-haskell/changelog.md
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2019-11-27 15:29:44 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-01-12 21:28:47 -0500
commit9129210f7e9937c1065330295f06524661575839 (patch)
tree8eee18f92d23eb2fe39adecda1d547fa8d9fa7cb /libraries/template-haskell/changelog.md
parent49f83a0de12a7c02f4a6e99d26eaa362a373afa5 (diff)
downloadhaskell-9129210f7e9937c1065330295f06524661575839.tar.gz
Overloaded Quotation Brackets (#246)
This patch implements overloaded quotation brackets which generalise the desugaring of all quotation forms in terms of a new minimal interface. The main change is that a quotation, for example, [e| 5 |], will now have type `Quote m => m Exp` rather than `Q Exp`. The `Quote` typeclass contains a single method for generating new names which is used when desugaring binding structures. The return type of functions from the `Lift` type class, `lift` and `liftTyped` have been restricted to `forall m . Quote m => m Exp` rather than returning a result in a Q monad. More details about the feature can be read in the GHC proposal. https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0246-overloaded-bracket.rst
Diffstat (limited to 'libraries/template-haskell/changelog.md')
-rw-r--r--libraries/template-haskell/changelog.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/libraries/template-haskell/changelog.md b/libraries/template-haskell/changelog.md
index 18b12fd4e7..a6d6307b7e 100644
--- a/libraries/template-haskell/changelog.md
+++ b/libraries/template-haskell/changelog.md
@@ -1,5 +1,14 @@
# Changelog for [`template-haskell` package](http://hackage.haskell.org/package/template-haskell)
+## 2.17.0.0
+
+ * Implement Overloaded Quotations (GHC Proposal #246). This patch modifies a
+ few fundamental things in the API. All the library combinators are generalised
+ to be in terms of a new minimal class `Quote`. The type of `lift` and `liftTyped`
+ are modified to return `m Exp` rather than `Q Exp`. Instances written in terms
+ of `Q` are now disallowed. The types of `unsafeTExpCoerce` and `unTypeQ`
+ are also generalised in terms of `Quote` rather than specific to `Q`.
+
## 2.16.0.0 *TBA*
* Add support for tuple sections. (#15843) The type signatures of `TupE` and