Package Release Info


Update Info: Base Release
Available in Package Hub : 15 SP1





Change Logs

* Fri Dec 21 2018
- Update th-abstraction to version
  [#]# -- 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`.
  [#]# -- 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 <>
- Use https URL to refer to
* Wed Jul 18 2018
- Cosmetic: replace tabs with blanks, strip trailing white space,
  and update copyright headers with spec-cleaner.
* Fri Jul 13 2018
- Update th-abstraction to version
  [#]# -- 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:
    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`.
  [#]# -- 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
- Update th-abstraction to version 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