* Thu Dec 17 2020 Ond?ej SĂșkup <mimi.vx@gmail.com>
- disable %{ix86} build
* Tue Aug 18 2020 Peter Simons <psimons@suse.com>
- Replace %setup -q with the more modern %autosetup macro.
* Tue Jun 16 2020 Peter Simons <psimons@suse.com>
- Re-generate file with latest version of spec-cleaner.
Version: 0.4.3.0-150500.1.1
* Thu Sep 02 2021 psimons@suse.com
- Update th-abstraction to version 0.4.3.0.
[#]# 0.4.3.0 -- 2021.08.30
* Make `applySubstitution` avoid capturing type variable binders when
substituting into `forall`s.
* Fix a bug in which `resolveTypeSynonyms` would incorrectly expand type
synonyms that are not applied to enough arguments.
* Allow the test suite to build with GHC 9.2.
* Fri Apr 30 2021 psimons@suse.com
- Update th-abstraction to version 0.4.2.0 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
* Wed Dec 30 2020 psimons@suse.com
- Update th-abstraction to version 0.4.2.0.
[#]# 0.4.2.0 -- 2020-12-30
* Explicitly mark modules as Safe (or Trustworthy for GHC versions prior to 8.4).
* Thu Dec 17 2020 mimi.vx@gmail.com
- disable %{ix86} build
* Thu Dec 10 2020 psimons@suse.com
- Update th-abstraction to version 0.4.1.0.
[#]# 0.4.1.0 -- 2020-12-09
* Fix a bug in which `normalizeDec` would give incorrect kind annotations to
type variables in quoted `Dec`s. `normalizeDec` now leaves the kinds of
type variable binders alone.
* Wed Sep 30 2020 psimons@suse.com
- Update th-abstraction to version 0.4.0.0.
[#]# 0.4.0.0 -- 2020-09-29
* Adapt to the `TyVarBndr` data type gaining a new `flag` type parameter
(in `template-haskell-2.17.0.0`) to represent its specificity:
* Introduce a new `Language.Haskell.TH.Datatype.TyVarBndr` module that
defines `TyVarBndr_`, a backwards-compatible type synonym for `TyVarBndr`,
as well as backporting `TyVarBndrSpec`, `TyVarBndrUnit`, and `Specificity`.
This module also defines other useful functions for constructing and
manipulating `TyVarBndr`s.
* The types in `Language.Haskell.TH.Datatype` now use `TyVarBndr_`,
`TyVarBndrUnit`, and `TyVarBndrSpec` where appropriate. Technically, this
is not a breaking change, since all three are simple type synonyms around
`TyVarBndr`, but it is likely that you will need to update your
`th-abstraction`-using code anyway if it involves a `TyVarBndr`-consuming
function.
* Tue Aug 18 2020 psimons@suse.com
- Replace %setup -q with the more modern %autosetup macro.
* Tue Jun 16 2020 psimons@suse.com
- Re-generate file with latest version of spec-cleaner.
* Fri Nov 08 2019 psimons@suse.com
- Drop obsolete group attributes.
Version: 0.3.2.0-bp152.1.10
* Fri Feb 07 2020 psimons@suse.com
- Update th-abstraction to version 0.3.2.0.
[#]# 0.3.2.0 -- 2020-02-06
* Support substituting into and extracting free variables from `ForallVisT`s
on `template-haskell-2.16.0.0` (GHC 8.10) or later.
* Fix a bug in which `freeVariables` could report duplicate kind variables when
they occur in the kinds of the type variable binders in a `ForallT`.
* Fix a bug in which `resolveInfixT` would not resolve `UInfixT`s occurring in
the kinds of type variable binders in a `ForallT`.
* Fix a bug in which the `TypeSubstitution ConstructorInfo` instance would not
detect free kind variables in the `constructorVars`.
* Fri Nov 08 2019 Peter Simons <psimons@suse.com>
- Drop obsolete group attributes.
* Tue Apr 30 2019 psimons@suse.com
- Update th-abstraction to version 0.3.1.0.
[#]# 0.3.1.0 -- 2019-04-28
* Fix a bug which would cause data family information to be reified incorrectly
with GHC 8.8+ in some situations.
[#]# 0.3.0.0 -- 2019-04-26
* Breaking change: the `datatypeVars` field of `DatatypeInfo` is now of type
`[TyVarBndr]` instead of `[Type]`, as it now refers to all of the bound type
variables in the data type. The old `datatypeVars` field has been renamed to
`datatypeInstTypes` to better reflect its purpose.
In addition, the type of `normalizeCon` now has an additional `[TyVarBndr]`
argument, since `DatatypeInfo` now requires it.
* Support `template-haskell-2.15`.
* Fix a bug in which `normalizeDec` would not detect existential type variables
in a GADT constructor if they were implicitly quantified.
* Fix a bug in which `normalizeDec` would report an incorrect number of
`datatypeVars` for GADT declarations with explicit return kinds (such as
`data Foo :: * -> * where`).
* Wed Feb 27 2019 psimons@suse.com
- Update th-abstraction to version 0.2.11.0.
[#]# 0.2.11.0 -- 2019-02-26
* Fix a bug in which `freeVariablesWellScoped` would sometimes not preserve
the left-to-right ordering of `Name`s generated with `newName`.
Version: 0.2.10.0-bp151.1.13
* Fri Dec 21 2018 psimons@suse.com
- Update th-abstraction to version 0.2.10.0.
[#]# 0.2.10.0 -- 2018-12-20
* Optimization: `quantifyType` now collapses consecutive `forall`s. For
instance, calling `quantifyType` on `forall b. a -> b -> T a` now produces
`forall a b. a -> b -> T a` instead of `forall a. forall b. a -> b -> T a`.
[#]# 0.2.9.0 -- 2018-12-20
* Fix a bug in which `resolveTypeSynonyms` would not look into `ForallT`s,
`SigT`s, `InfixT`s, or `ParensT`s.
* Fix a bug in which `quantifyType` would not respect the dependency order of
type variables (e.g., `Proxy (a :: k)` would have erroneously been quantified
as `forall a k. Proxy (a :: k)`).
* Fix a bug in which `asEqualPred` would return incorrect results with GHC 8.7.
* Add a `freeVariablesWellScoped` function which computes the free variables of
a list of types and sorts them according to dependency order.
* Add a `resolveKindSynonyms` function which expands all type synonyms in a
`Kind`. This is mostly useful for supporting old GHCs where `Type` and `Kind`
were not the same.
* Sat Oct 20 2018 Peter Simons <psimons@suse.com>
- Use https URL to refer to bugs.opensuse.org.
* Wed Jul 18 2018 psimons@suse.com
- Cosmetic: replace tabs with blanks, strip trailing white space,
and update copyright headers with spec-cleaner.
* Fri Jul 13 2018 psimons@suse.com
- Update th-abstraction to version 0.2.8.0.
[#]# 0.2.8.0 -- 2018-06-29
* GADT reification is now much more robust with respect to `PolyKinds`:
* A bug in which universally quantified kind variables were mistakenly
flagged as existential has been fixed.
* A bug in which the kinds of existentially quantified type variables
were not substituted properly has been fixed.
* More kind equalities are detected than before. For example, in the
following data type:
```haskell
data T (a :: k) where
MkT :: forall (a :: Bool). T a
```
We now catch the `k ~ Bool` equality.
* Tweak `resolveTypeSynonyms` so that failing to reify a type constructor
name so longer results in an error. Among other benefits, this makes
it possible to pass data types with GADT syntax to `normalizeDec`.
[#]# 0.2.7.0 -- 2018-06-17
* Fix bug in which data family instances with duplicate occurrences of type
variables in the left-hand side would have redundant equality constraints
in their contexts.
* Mon May 14 2018 psimons@suse.com
- Update th-abstraction to version 0.2.6.0 revision 1.
* Fix bug in which `applySubstitution` and `freeVariables` would ignore
type variables in the kinds of type variable binders.
* Added `pragLineDCompat`, `newtypeDCompat` and `tySynInstDCompat`
* Fix bug that caused GADT equality constraints to be incorrect in some cases.
* Expose `Unpackedness` and `Strictness` (which were unexported by accident).
* Add `resolvePredSynonyms`
* Add `reifyConstructor`, which allows reification of `ConstructorInfo` from
a constructor name, and `lookupByConstructorName`, which allows directly
looking up a `ConstructorInfo` from a `DatatypeInfo` value for a given
constructor `Name`.
* Augment `reifyDatatype` to be able to look up `DatatypeInfo` from the `Name`
of a record selector for one of its constructors. Also add `reifyRecord` for
reification of of `ConstructorInfo` from a record name, and
`lookupByRecordName`, which allows directly looking up a `ConstructorInfo`
from a `DatatypeInfo` value for a given record `Name`.
* Fix bug that caused `th-abstraction` to fail on GHC 7.0 and 7.2 when passing
a vanilla constructor name to `reifyDatatype`
* Make `normalizeDec` and `normalizeCon` more robust with respect to
data family instances on GHC 7.6 and 7.8