Changelog for template-haskell-2.12.0.0
Changelog for template-haskell package
2.12.0.0 July 2017
-
Bundled with GHC 8.2.1.
-
Add support for pattern synonyms. This introduces one new constructor to
Info(PatSynI), two new constructors toDec(PatSynDandPatSynSigD), and two new data types (PatSynDirandPatSynArgs), among other changes. (#8761) -
Add support for unboxed sums. (#12478)
-
Add support for visible type applications. (#12530)
-
Add support for attaching deriving strategies to
derivingstatements (#10598) -
Add support for
COMPLETEpragmas. (#13098) -
unboxedTupleTypeNameandunboxedTupleDataNamenow work for unboxed 0-tuples and 1-tuples (#12977) -
Language.Haskell.THnow reexports all ofLanguage.Haskell.TH.Lib. (#12992). This causesLanguage.Haskell.THto export more types and functions that it did before:TExp,BangQ, andFieldExpQunboxedTupP,unboxedTupEandunboundVarEinfixLD,infixRD, andinfixNDunboxedTupleTandwildCardTplainTVandkindedTVinterruptibleandfunDepvalueAnnotation,typeAnnotation, andmoduleAnnotation
2.11.0.0 May 2016
-
Bundled with GHC 8.0.1
-
The compiler can now resolve infix operator fixities in types on its own. The
UInfixTconstructor ofTypeis analoguous toUInfixEfor expressions and can contain a tree of infix type applications which will be reassociated according to the fixities of the operators. TheParensTconstructor can be used to explicitly group expressions. -
Add
namePackageandnameSpace -
Make
dataToQaanddataToExpQable to handleDatainstances whosetoConstrimplementation relies on a function instead of a data constructor (#10796) -
Add
Showinstances forNameFlavourandNameSpace -
Remove
FamilyDandFamFlavour. AddDataFamilyDandOpenTypeFamilyDas the representation of data families and open type families respectively. (#6018) -
Add
TypeFamilyHeadfor common elements ofOpenTypeFamilyDandClosedTypeFamilyD(#10902) -
The
Strictdatatype was split among different datatypes: three for writing the strictness information of data constructors' fields as denoted in Haskell source code (SourceUnpackednessandSourceStrictness, as well asBang), and one for strictness information after a constructor is compiled (DecidedStrictness).Strict,StrictTypeandVarStrictTypehave been deprecated in favor ofBang,BangTypeandVarBangType. (#10697) -
Add
reifyConStrictnessto query a data constructor'sDecidedStrictnessvalues for its fields (#10697) -
The
ClassOpI,DataConI, andVarIconstructors no longer have aFixityfield. Instead, allFixityinformation for a givenNameis now determined through thereifyFixityfunction, which returnsJustthe fixity if there is an explicit fixity declaration for thatName, andNothingotherwise (#10704 and #11345) -
Add
MonadFail Qinstance for GHC 8.0 and later (#11661) -
Add support for OVERLAP(S/PED/PING) pragmas on instances
2.10.0.0 Mar 2015
- Bundled with GHC 7.10.1
- Remove build-dependency on
containerspackage - Make
Preda type synonym ofType, and deprecateclassP/equalP(#7021) - Add support for
LINEpragma viaprageLineDandLineP - Replace
Int#with!IntinNameFlavourconstructors - Derive
Genericfor TH types (#9527) - Add
standaloneDerivD(#8100) - Add support for generic default signatures via
defaultSigD(#9064) - Add
Liftinstances for()andRational - Derive new
ShowandDatainstances forLoc - Derive
Eqinstances forLoc,Info, andModuleInfo - Make calling conventions available in template haskell consistent with those from GHC (#9703)
- Add support for
-XStaticValuesviastaticE - Add
Ordinstances to TH types - Merge some instances from
th-orphans(Pprinstances forLitandLocas well asLiftinstances for numeric types - Put parens around
(ty :: kind)when pretty-printing TH syntax