osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-th-abstraction revision:4, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-th-abstraction?expand=0&rev=72
This commit is contained in:
commit
f563b2f5b8
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
456
ghc-th-abstraction.changes
Normal file
456
ghc-th-abstraction.changes
Normal file
@ -0,0 +1,456 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 2 13:35:52 UTC 2025 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update th-abstraction to version 0.7.1.0 revision 1.
|
||||
Upstream has revised the Cabal build instructions on Hackage.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 5 11:48:06 UTC 2024 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update th-abstraction to version 0.7.1.0.
|
||||
## 0.7.1.0 -- 2024.12.05
|
||||
* Drop support for pre-8.0 versions of GHC.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 17 15:30:04 UTC 2024 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update th-abstraction to version 0.7.0.0.
|
||||
## 0.7.0.0 -- 2024.03.17
|
||||
* `DatatypeInfo` now has an additional `datatypeReturnKind` field. Most of the
|
||||
time, this will be `StarT`, but this can also be more exotic kinds such as
|
||||
`ConT ''UnliftedType` if dealing with primitive types, `UnliftedDatatypes`,
|
||||
or `UnliftedNewtypes`.
|
||||
* `reifyDatatype` and related functions now support primitive types such as
|
||||
`Int#`. These will be reified as `DatatypeInfo`s with no `ConstructorInfo`s
|
||||
and with `Datatype` as the `datatypeVariant`.
|
||||
* `normalizeCon` now takes a `Kind` argument representing the return kind of
|
||||
the parent data type. (This is sometimes necessary to determine which type
|
||||
variables in the data constructor are universal or existential, depending
|
||||
on if the variables appear in the return kind.)
|
||||
* Fix a couple of bugs in which `normalizeDec` would return incorrect results
|
||||
for GADTs that use `forall`s in their return kind.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 17 15:24:51 UTC 2024 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update th-abstraction to version 0.6.0.0 revision 2.
|
||||
Upstream has revised the Cabal build instructions on Hackage.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 30 12:03:02 UTC 2023 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update th-abstraction to version 0.6.0.0 revision 1.
|
||||
## 0.6.0.0 -- 2023.07.31
|
||||
* Support building with `template-haskell-2.21.0.0` (GHC 9.8).
|
||||
* Adapt to `TyVarBndr`s for type-level declarations changing their type from
|
||||
`TyVarBndr ()` to `TyVarBndr BndrVis` in `template-haskell`:
|
||||
|
||||
* `Language.Haskell.TH.Datatype.TyVarBndr` now backports `type BndrVis = ()`,
|
||||
as well as `BndrReq` and `BndrInvis` pattern synonyms. These make it
|
||||
possible to write code involving `BndrVis` that is somewhat backwards
|
||||
compatible (but do see the caveats in the Haddocks for `BndrInvis`).
|
||||
* `Language.Haskell.TH.Datatype.TyVarBndr` also backports the following
|
||||
definitions:
|
||||
* The `type TyVarBndrVis = TyVarBndr BndrVis` type synonym.
|
||||
* The `DefaultBndrFlag` class, which can be used to write code that is
|
||||
polymorphic over `TyVarBndr` flags while still allowing the code to return
|
||||
a reasonable default value for the flag.
|
||||
* The `bndrReq` and `bndrInvis` definitions, which behave identically to
|
||||
`BndrReq` and `BndrInvis`.
|
||||
* `Language.Haskell.TH.Datatype.TyVarBndr` now defines the following utility
|
||||
functions, which are not present in `template-haskell`:
|
||||
* `plainTVReq`, `plainTVInvis`, `kindedTVReq`, and `kindedTVInvis`
|
||||
functions, which construct `PlainTV`s and `KindedTV`s with particular
|
||||
`BndrVis` flags.
|
||||
* An `elimTVFlag`, which behaves like `elimTV`, but where the continuation
|
||||
arguments also take a `flag` argument. (Note that the type of this
|
||||
function is slightly different on old versions of `template-haskell`.
|
||||
See the Haddocks for more.)
|
||||
* A `tvFlag` function, which extracts the `flag` from a `TyVarBndr`. (Note
|
||||
that the type of this function is slightly different on old versions of
|
||||
`template-haskell`. See the Haddocks for more.)
|
||||
* The types of the `dataDCompat` and `newtypeDCompat` functions have had
|
||||
their `[TyVarBndrUnit]` arguments changed to `[TyVarBndrVis]`, matching
|
||||
similar changes to `DataD` and `NewtypeD` in `template-haskell`.
|
||||
|
||||
Because `BndrVis` is a synonym for `()` on pre-9.8 versions of GHC, this
|
||||
change is unlikely to break any existing code, provided that you build it
|
||||
with GHC 9.6 or earlier. If you build with GHC 9.8 or later, on the other
|
||||
hand, it is likely that you will need to update your existing code. Here are
|
||||
some possible ways that your code might fail to compile with GHC 9.8, along
|
||||
with some migration strategies:
|
||||
|
||||
* Your code passes a `TyVarBndrUnit` in a place where a `TyVarBndrVis` is now
|
||||
expected in GHC 9.8, such as in the arguments to `dataDCompat`:
|
||||
|
||||
```hs
|
||||
import "template-haskell" Language.Haskell.TH
|
||||
import "th-abstraction" Language.Haskell.TH.Datatype (dataDCompat)
|
||||
|
||||
dec :: DecQ
|
||||
dec = dataDCompat (pure []) d [PlainTV a ()] [] []
|
||||
where
|
||||
d = mkName "d"
|
||||
a = mkName "a"
|
||||
```
|
||||
|
||||
With GHC 9.8, this will fail to compile with:
|
||||
|
||||
```
|
||||
error: [GHC-83865]
|
||||
• Couldn't match expected type ‘BndrVis’ with actual type ‘()’
|
||||
• In the second argument of ‘PlainTV’, namely ‘()’
|
||||
In the expression: PlainTV a ()
|
||||
In the third argument of ‘dataDCompat’, namely ‘[PlainTV a ()]’
|
||||
|
|
||||
| dec = dataDCompat (pure []) d [PlainTV a ()] [] []
|
||||
| ^^
|
||||
```
|
||||
|
||||
Some possible ways to migrate this code include:
|
||||
|
||||
* Use the `bndrReq` function or `BndrReq` pattern synonym in place of `()`,
|
||||
making sure to import them from `Language.Haskell.TH.Datatype.TyVarBndr`:
|
||||
|
||||
```hs
|
||||
...
|
||||
import "th-abstraction" Language.Haskell.TH.Datatype.TyVarBndr
|
||||
|
||||
dec :: DecQ
|
||||
dec = dataDCompat (pure []) d [PlainTV a bndrReq] [] []
|
||||
-- Or, alternatively:
|
||||
{-
|
||||
dec = dataDCompat (pure []) d [PlainTV a BndrReq] [] []
|
||||
-}
|
||||
where
|
||||
...
|
||||
```
|
||||
* Use the `plainTV` function from `Language.Haskell.TH.Datatype.TyVarBndr`,
|
||||
which is now sufficiently polymorphic to work as both a `TyVarBndrUnit`
|
||||
and a `TyVarBndrVis`:
|
||||
|
||||
```hs
|
||||
...
|
||||
import Language.Haskell.TH.Datatype.TyVarBndr
|
||||
|
||||
dec :: DecQ
|
||||
dec = dataDCompat (pure []) d [plainTV a] [] []
|
||||
where
|
||||
...
|
||||
```
|
||||
* You may have to replace some uses of `TyVarBndrUnit` with `TyVarBndrVis`
|
||||
in your code. For instance, this will no longer typecheck in GHC 9.8 for
|
||||
similar reasons to the previous example:
|
||||
|
||||
```hs
|
||||
import "template-haskell" Language.Haskell.TH
|
||||
import "th-abstraction" Language.Haskell.TH.Datatype (dataDCompat)
|
||||
|
||||
dec :: DecQ
|
||||
dec = dataDCompat (pure []) d tvbs [] []
|
||||
where
|
||||
tvbs :: [TyVarBndrUnit]
|
||||
tvbs = [plainTV a]
|
||||
|
||||
d = mkName "d"
|
||||
a = mkName "a"
|
||||
```
|
||||
|
||||
Here is a version that will typecheck with GHC 9.8 and earlier:
|
||||
|
||||
```hs
|
||||
...
|
||||
import "th-abstraction" Language.Haskell.TH.Datatype.TyVarBndr
|
||||
|
||||
dec :: DecQ
|
||||
dec = dataDCompat (pure []) d tvbs [] []
|
||||
where
|
||||
tvbs :: [TyVarBndrVis]
|
||||
tvbs = [plainTV a]
|
||||
|
||||
...
|
||||
```
|
||||
* In some cases, the `TyVarBndrUnit`s might come from another place in the
|
||||
code, e.g.,
|
||||
|
||||
```hs
|
||||
import "template-haskell" Language.Haskell.TH
|
||||
import "th-abstraction" Language.Haskell.TH.Datatype (dataDCompat)
|
||||
|
||||
dec :: [TyVarBndrUnit] -> DecQ
|
||||
dec tvbs = dataDCompat (pure []) d tvbs [] []
|
||||
where
|
||||
d = mkName "d"
|
||||
```
|
||||
|
||||
If it is not straightforward to change `dec`'s type to accept
|
||||
`[TyVarBndrVis]` as an argument, another viable option is to use the
|
||||
`changeTVFlags` function:
|
||||
|
||||
```hs
|
||||
...
|
||||
import "th-abstraction" Language.Haskell.TH.Datatype.TyVarBndr
|
||||
|
||||
dec :: [TyVarBndrUnit] -> DecQ
|
||||
dec tvbs = dataDCompat (pure []) d tvbs' [] []
|
||||
where
|
||||
tvbs' :: [TyVarBndrVis]
|
||||
tvbs' = changeTVFlags bndrReq tvbs
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
This guide, while not comprehensive, should cover most of the common cases one
|
||||
will encounter when migrating their `th-abstraction` code to support GHC 9.8.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 27 10:45:36 UTC 2023 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update th-abstraction to version 0.5.0.0.
|
||||
## 0.5.0.0 -- 2023.02.27
|
||||
* Support the `TypeData` language extension added in GHC 9.6. The
|
||||
`DatatypeVariant` data type now has a separate `TypeData` constructor to
|
||||
represent `type data` declarations.
|
||||
* Add a `Lift` instance for `th-abstraction`'s compatibility shim for
|
||||
`Specificity` when building with pre-9.0 versions of GHC.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 30 17:08:35 UTC 2023 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Updated spec file to conform with ghc-rpm-macros-2.5.2.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 27 10:44:12 UTC 2023 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update th-abstraction to version 0.4.5.0 revision 1.
|
||||
Upstream has revised the Cabal build instructions on Hackage.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 12 23:32:58 UTC 2022 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update th-abstraction to version 0.4.5.0.
|
||||
## 0.4.5.0 -- 2022.09.12
|
||||
* Fix a bug in which data family declarations with interesting return kinds
|
||||
(e.g., `data family F :: Type -> Type`) would be reified incorrectly when
|
||||
using `reifyDatatype`.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 23 17:44:02 UTC 2022 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update th-abstraction to version 0.4.4.0.
|
||||
## 0.4.4.0 -- 2022.07.23
|
||||
* Support free variable substitution and infix resolution for
|
||||
`PromotedInfixT` and `PromotedUInfixT` on `template-haskell-2.19.0.0` or
|
||||
later.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 2 08:31:58 UTC 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 08:29:32 UTC 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 17:53:11 UTC 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 12:20:00 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
|
||||
|
||||
- disable %{ix86} build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 10 09:07:33 UTC 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 08:36:12 UTC 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 10:46:15 UTC 2020 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Replace %setup -q with the more modern %autosetup macro.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 16 11:14:41 UTC 2020 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Re-generate file with latest version of spec-cleaner.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 7 08:06:47 UTC 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 8 16:14:57 UTC 2019 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Drop obsolete group attributes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 30 09:23:09 UTC 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 03:02:53 UTC 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`.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 21 03:02:45 UTC 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 11:32:05 UTC 2018 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Use https URL to refer to bugs.opensuse.org.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 18 14:26:43 UTC 2018 - psimons@suse.com
|
||||
|
||||
- Cosmetic: replace tabs with blanks, strip trailing white space,
|
||||
and update copyright headers with spec-cleaner.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 13 14:31:53 UTC 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 17:02:11 UTC 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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 30 03:01:59 UTC 2017 - psimons@suse.com
|
||||
|
||||
- Update to version 0.2.3.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 19 21:01:50 UTC 2017 - psimons@suse.com
|
||||
|
||||
- Update to version 0.2.2.0.
|
102
ghc-th-abstraction.spec
Normal file
102
ghc-th-abstraction.spec
Normal file
@ -0,0 +1,102 @@
|
||||
#
|
||||
# spec file for package ghc-th-abstraction
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global pkg_name th-abstraction
|
||||
%global pkgver %{pkg_name}-%{version}
|
||||
%bcond_with tests
|
||||
Name: ghc-%{pkg_name}
|
||||
Version: 0.7.1.0
|
||||
Release: 0
|
||||
Summary: Nicer interface for reified information about data types
|
||||
License: ISC
|
||||
URL: https://hackage.haskell.org/package/%{pkg_name}
|
||||
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
|
||||
Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
|
||||
BuildRequires: ghc-Cabal-devel
|
||||
BuildRequires: ghc-base-devel
|
||||
BuildRequires: ghc-base-prof
|
||||
BuildRequires: ghc-containers-devel
|
||||
BuildRequires: ghc-containers-prof
|
||||
BuildRequires: ghc-rpm-macros
|
||||
BuildRequires: ghc-template-haskell-devel
|
||||
BuildRequires: ghc-template-haskell-prof
|
||||
ExcludeArch: %{ix86}
|
||||
|
||||
%description
|
||||
This package normalizes variations in the interface for inspecting datatype
|
||||
information via Template Haskell so that packages and support a single, easier
|
||||
to use informational datatype while supporting many versions of Template
|
||||
Haskell.
|
||||
|
||||
%package devel
|
||||
Summary: Haskell %{pkg_name} library development files
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: ghc-compiler = %{ghc_version}
|
||||
Requires(post): ghc-compiler = %{ghc_version}
|
||||
Requires(postun): ghc-compiler = %{ghc_version}
|
||||
|
||||
%description devel
|
||||
This package provides the Haskell %{pkg_name} library development files.
|
||||
|
||||
%package -n ghc-%{pkg_name}-doc
|
||||
Summary: Haskell %{pkg_name} library documentation
|
||||
Requires: ghc-filesystem
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n ghc-%{pkg_name}-doc
|
||||
This package provides the Haskell %{pkg_name} library documentation.
|
||||
|
||||
%package -n ghc-%{pkg_name}-prof
|
||||
Summary: Haskell %{pkg_name} profiling library
|
||||
Requires: ghc-%{pkg_name}-devel = %{version}-%{release}
|
||||
Supplements: (ghc-%{pkg_name}-devel and ghc-prof)
|
||||
|
||||
%description -n ghc-%{pkg_name}-prof
|
||||
This package provides the Haskell %{pkg_name} profiling library.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{pkg_name}-%{version}
|
||||
cp -p %{SOURCE1} %{pkg_name}.cabal
|
||||
|
||||
%build
|
||||
%ghc_lib_build
|
||||
|
||||
%install
|
||||
%ghc_lib_install
|
||||
|
||||
%check
|
||||
%cabal_test
|
||||
|
||||
%post devel
|
||||
%ghc_pkg_recache
|
||||
|
||||
%postun devel
|
||||
%ghc_pkg_recache
|
||||
|
||||
%files -f %{name}.files
|
||||
%license LICENSE
|
||||
|
||||
%files devel -f %{name}-devel.files
|
||||
%doc ChangeLog.md README.md
|
||||
|
||||
%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
|
||||
%license LICENSE
|
||||
|
||||
%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files
|
||||
|
||||
%changelog
|
3
th-abstraction-0.6.0.0.tar.gz
Normal file
3
th-abstraction-0.6.0.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69ea6eca1f0c00b6e1e1f8329c908ec76e73855e2ce6e91ace2f8bbf92c51a30
|
||||
size 43152
|
3
th-abstraction-0.7.1.0.tar.gz
Normal file
3
th-abstraction-0.7.1.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f9b6184aba4c6b61dd0d96f7dad41a4c9db0a01d3cdbf993a7d860488f1c04c5
|
||||
size 45428
|
53
th-abstraction.cabal
Normal file
53
th-abstraction.cabal
Normal file
@ -0,0 +1,53 @@
|
||||
name: th-abstraction
|
||||
version: 0.7.1.0
|
||||
x-revision: 1
|
||||
synopsis: Nicer interface for reified information about data types
|
||||
description: This package normalizes variations in the interface for
|
||||
inspecting datatype information via Template Haskell
|
||||
so that packages and support a single, easier to use
|
||||
informational datatype while supporting many versions
|
||||
of Template Haskell.
|
||||
license: ISC
|
||||
license-file: LICENSE
|
||||
author: Eric Mertens
|
||||
maintainer: emertens@gmail.com
|
||||
copyright: 2017 Eric Mertens
|
||||
homepage: https://github.com/glguy/th-abstraction
|
||||
bug-reports: https://github.com/glguy/th-abstraction/issues
|
||||
category: Development
|
||||
build-type: Simple
|
||||
extra-source-files: ChangeLog.md README.md
|
||||
cabal-version: >=1.10
|
||||
tested-with: GHC==9.12.1, GHC==9.10.1, GHC==9.8.4, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2
|
||||
|
||||
source-repository head
|
||||
type: git
|
||||
location: https://github.com/glguy/th-abstraction.git
|
||||
|
||||
library
|
||||
exposed-modules: Language.Haskell.TH.Datatype
|
||||
Language.Haskell.TH.Datatype.TyVarBndr
|
||||
other-modules: Language.Haskell.TH.Datatype.Internal
|
||||
build-depends: base >=4.9 && <5,
|
||||
ghc-prim,
|
||||
template-haskell >=2.11 && <2.24,
|
||||
containers >=0.4 && <0.9
|
||||
hs-source-dirs: src
|
||||
default-language: Haskell2010
|
||||
|
||||
if impl(ghc >= 9.0)
|
||||
-- these flags may abort compilation with GHC-8.10
|
||||
-- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
|
||||
ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode
|
||||
|
||||
test-suite unit-tests
|
||||
other-modules: Harness
|
||||
Types
|
||||
type: exitcode-stdio-1.0
|
||||
main-is: Main.hs
|
||||
build-depends: th-abstraction, base, containers, template-haskell
|
||||
hs-source-dirs: test
|
||||
default-language: Haskell2010
|
||||
|
||||
if impl(ghc >= 8.6)
|
||||
ghc-options: -Wno-star-is-type
|
Loading…
x
Reference in New Issue
Block a user