Package maintainers and Hackage trustees are allowed to edit certain bits
of package metadata after a release, without uploading a new tarball.
Note that the tarball itself is never changed, just the metadata that is
stored separately. For more information about metadata revisions, please
refer to the
Hackage Metadata Revisions FAQ.
| No. |
Time |
User |
SHA256 |
| -r5 |
2026-06-24T01:45:36Z |
BaldurBlondal |
ba1bceac5b550b61c5935f25a0010a9026e3e53a252ab4124f7c04cb802c0f4a
|
|
Changed tested-with
from ghc ==9.8.1: ghc ==9.10.3: ghc ==9.12.4: ghc ==9.14.1
to ghc ==9.8.1: ghc ==9.10.3: ghc ==9.12.4: ghc ==9.14.1: ghc ==9.10.3: ghc ==9.12.4: ghc ==9.14.1 Changed description
from The <https://hackage.haskell.org/package/stock stock> plugin
provides a newtype
__@<https://hackage-content.haskell.org/package/stock-0.1.0.0/docs/Stock.html#t:Stock Stock>@__
for deriving and synthesising instances at compile time. __stock-hashable__ extends it to support
@<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@,
and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
__stock-hashable__ provides three instances, that signal to the
plugin how to derive @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@ and @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
<https://hackage.haskell.org/package/stock stock> companion packages include:
* __@<https://hackage.haskell.org/package/stock-deepseq stock-deepseq>@__: @<https://hackage-content.haskell.org/package/deepseq-1.5.2.0/docs/Control-DeepSeq.html#t:NFData NFData>@, @<https://hackage-content.haskell.org/package/deepseq-1.5.2.0/docs/Control-DeepSeq.html#t:NFData1 NFData1>@, @<https://hackage-content.haskell.org/package/deepseq-1.5.2.0/docs/Control-DeepSeq.html#t:NFData2 NFData2>@
* __@stock-hashable@__: @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@, @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@
* __@<https://hackage.haskell.org/package/stock-aeson stock-aeson>@__: @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:ToJSON ToJSON>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:ToJSON1 ToJSON1>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:ToJSON2 ToJSON2>@; @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:FromJSON FromJSON>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:FromJSON1 FromJSON1>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:FromJSON2 FromJSON2>@
* __@<https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>@__: @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:Arbitrary Arbitrary>@, @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:Arbitrary1 Arbitrary1>@, @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:Arbitrary2 Arbitrary2>@; @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:CoArbitrary CoArbitrary>@
* __@<https://hackage.haskell.org/package/stock-profunctors stock-profunctors>@__: @<https://hackage-content.haskell.org/package/profunctors-5.6.3/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
to The <https://hackage.haskell.org/package/stock stock> plugin
provides a newtype
__@<https://hackage-content.haskell.org/package/stock-0.1.0.0/docs/Stock.html#t:Stock Stock>@__
for deriving and synthesising instances at compile time. __stock-hashable__ extends it to support
@<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable.html#t:Hashable Hashable>@,
and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
__stock-hashable__ provides three instances, that signal to the
plugin how to derive @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@ and @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
<https://hackage.haskell.org/package/stock stock> companion packages include:
* __@<https://hackage.haskell.org/package/stock-deepseq stock-deepseq>@__: @<https://hackage-content.haskell.org/package/deepseq-1.5.2.0/docs/Control-DeepSeq.html#t:NFData NFData>@, @<https://hackage-content.haskell.org/package/deepseq-1.5.2.0/docs/Control-DeepSeq.html#t:NFData1 NFData1>@, @<https://hackage-content.haskell.org/package/deepseq-1.5.2.0/docs/Control-DeepSeq.html#t:NFData2 NFData2>@
* __@stock-hashable@__: @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@, @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@
* __@<https://hackage.haskell.org/package/stock-aeson stock-aeson>@__: @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:ToJSON ToJSON>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:ToJSON1 ToJSON1>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:ToJSON2 ToJSON2>@; @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:FromJSON FromJSON>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:FromJSON1 FromJSON1>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:FromJSON2 FromJSON2>@
* __@<https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>@__: @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:Arbitrary Arbitrary>@, @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:Arbitrary1 Arbitrary1>@, @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:Arbitrary2 Arbitrary2>@; @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:CoArbitrary CoArbitrary>@
* __@<https://hackage.haskell.org/package/stock-profunctors stock-profunctors>@__: @<https://hackage-content.haskell.org/package/profunctors-5.6.3/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r4 |
2026-06-24T00:20:51Z |
BaldurBlondal |
13d220c621b67f2ca4601f0985442688b75a06ed43634a672ec4be93a0c97de9
|
|
Changed description
from The @<https://hackage.haskell.org/package/stock stock>@ plugin
provides a datatype for deriving and synthesising instances at
compile time. __stock-hashable__ extends it to support
@<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@, and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
__stock-hashable__ provides three instances, that signal to the
plugin how to derive @Hashable@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
@<https://hackage.haskell.org/package/stock-deepseq stock>@ companion packages include:
* @<https://hackage.haskell.org/package/stock-deepseq stock-deepseq>@: @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData NFData>@, @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData1 NFData1>@, @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData2 NFData2>@
* __stock-hashable__: @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@
* @<https://hackage.haskell.org/package/stock-aeson stock-aeson>@: @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON ToJSON>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON1 ToJSON1>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON2 ToJSON2>@; @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON FromJSON>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON1 FromJSON1>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON2 FromJSON2>@
* @<https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>@: @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary Arbitrary>@, @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary1 Arbitrary1>@, @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary2 Arbitrary2>@; @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:CoArbitrary CoArbitrary>@
* @<https://hackage.haskell.org/package/stock-profunctors stock-profunctors>@: @<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
to The <https://hackage.haskell.org/package/stock stock> plugin
provides a newtype
__@<https://hackage-content.haskell.org/package/stock-0.1.0.0/docs/Stock.html#t:Stock Stock>@__
for deriving and synthesising instances at compile time. __stock-hashable__ extends it to support
@<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@,
and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
__stock-hashable__ provides three instances, that signal to the
plugin how to derive @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@ and @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
<https://hackage.haskell.org/package/stock stock> companion packages include:
* __@<https://hackage.haskell.org/package/stock-deepseq stock-deepseq>@__: @<https://hackage-content.haskell.org/package/deepseq-1.5.2.0/docs/Control-DeepSeq.html#t:NFData NFData>@, @<https://hackage-content.haskell.org/package/deepseq-1.5.2.0/docs/Control-DeepSeq.html#t:NFData1 NFData1>@, @<https://hackage-content.haskell.org/package/deepseq-1.5.2.0/docs/Control-DeepSeq.html#t:NFData2 NFData2>@
* __@stock-hashable@__: @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@, @<https://hackage-content.haskell.org/package/hashable-1.5.1.0/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@
* __@<https://hackage.haskell.org/package/stock-aeson stock-aeson>@__: @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:ToJSON ToJSON>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:ToJSON1 ToJSON1>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:ToJSON2 ToJSON2>@; @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:FromJSON FromJSON>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:FromJSON1 FromJSON1>@, @<https://hackage-content.haskell.org/package/aeson-2.3.0.0/docs/Data-Aeson.html#t:FromJSON2 FromJSON2>@
* __@<https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>@__: @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:Arbitrary Arbitrary>@, @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:Arbitrary1 Arbitrary1>@, @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:Arbitrary2 Arbitrary2>@; @<https://hackage-content.haskell.org/package/QuickCheck-2.18.0.0/docs/Test-QuickCheck.html#t:CoArbitrary CoArbitrary>@
* __@<https://hackage.haskell.org/package/stock-profunctors stock-profunctors>@__: @<https://hackage-content.haskell.org/package/profunctors-5.6.3/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r3 |
2026-06-23T19:41:54Z |
BaldurBlondal |
3664b5ebc50b847275335f1cafd896874c294c51e7af7fdaebf4f040effc84bd
|
|
Changed description
from The @<https://hackage.haskell.org/package/stock stock>@ plugin
provides a datatype for deriving and synthesising instances at
compile time. __stock-hashable__ extends it to support
@<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable
Hashable>@, and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
__stock-hashable__ provides three instances, that signal to the
plugin how to derive @Hashable@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
@<https://hackage.haskell.org/package/stock-deepseq stock>@ companion packages include:
* @<https://hackage.haskell.org/package/stock-deepseq stock-deepseq>@: @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData NFData>@, @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData1 NFData1>@, @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData2 NFData2>@
* __stock-hashable__: @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@
* @<https://hackage.haskell.org/package/stock-aeson stock-aeson>@: @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON ToJSON>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON1 ToJSON1>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON2 ToJSON2>@; @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON FromJSON>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON1 FromJSON1>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON2 FromJSON2>@
* @<https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>@: @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary Arbitrary>@, @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary1 Arbitrary1>@, @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary2 Arbitrary2>@; @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:CoArbitrary CoArbitrary>@
* @<https://hackage.haskell.org/package/stock-profunctors stock-profunctors>@: @<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
to The @<https://hackage.haskell.org/package/stock stock>@ plugin
provides a datatype for deriving and synthesising instances at
compile time. __stock-hashable__ extends it to support
@<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@, and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
__stock-hashable__ provides three instances, that signal to the
plugin how to derive @Hashable@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
@<https://hackage.haskell.org/package/stock-deepseq stock>@ companion packages include:
* @<https://hackage.haskell.org/package/stock-deepseq stock-deepseq>@: @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData NFData>@, @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData1 NFData1>@, @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData2 NFData2>@
* __stock-hashable__: @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@
* @<https://hackage.haskell.org/package/stock-aeson stock-aeson>@: @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON ToJSON>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON1 ToJSON1>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON2 ToJSON2>@; @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON FromJSON>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON1 FromJSON1>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON2 FromJSON2>@
* @<https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>@: @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary Arbitrary>@, @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary1 Arbitrary1>@, @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary2 Arbitrary2>@; @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:CoArbitrary CoArbitrary>@
* @<https://hackage.haskell.org/package/stock-profunctors stock-profunctors>@: @<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r2 |
2026-06-23T19:20:36Z |
BaldurBlondal |
fa5a443fe5dd2108a14b150c429f313134c3ca239a39cf3abb4847652575480b
|
|
Changed description
from The <https://hackage.haskell.org/package/stock stock> plugin provides a datatype for deriving and synthesising
instances at compile time. @stock-hashable@ extends the <https://hackage.haskell.org/package/stock stock> with
support for @Hashable@ and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
@stock-hashable@ provides three instances, that signal to the plugin
how to derive @Hashable@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
to The @<https://hackage.haskell.org/package/stock stock>@ plugin
provides a datatype for deriving and synthesising instances at
compile time. __stock-hashable__ extends it to support
@<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable
Hashable>@, and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
__stock-hashable__ provides three instances, that signal to the
plugin how to derive @Hashable@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
@<https://hackage.haskell.org/package/stock-deepseq stock>@ companion packages include:
* @<https://hackage.haskell.org/package/stock-deepseq stock-deepseq>@: @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData NFData>@, @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData1 NFData1>@, @<https://hackage.haskell.org/package/deepseq/docs/Control-DeepSeq.html#t:NFData2 NFData2>@
* __stock-hashable__: @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable.html#t:Hashable Hashable>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable1 Hashable1>@, @<https://hackage.haskell.org/package/hashable/docs/Data-Hashable-Lifted.html#t:Hashable2 Hashable2>@
* @<https://hackage.haskell.org/package/stock-aeson stock-aeson>@: @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON ToJSON>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON1 ToJSON1>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:ToJSON2 ToJSON2>@; @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON FromJSON>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON1 FromJSON1>@, @<https://hackage.haskell.org/package/aeson/docs/Data-Aeson.html#t:FromJSON2 FromJSON2>@
* @<https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>@: @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary Arbitrary>@, @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary1 Arbitrary1>@, @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:Arbitrary2 Arbitrary2>@; @<https://hackage.haskell.org/package/QuickCheck/docs/Test-QuickCheck.html#t:CoArbitrary CoArbitrary>@
* @<https://hackage.haskell.org/package/stock-profunctors stock-profunctors>@: @<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r1 |
2026-06-23T16:28:29Z |
BaldurBlondal |
69790e16d33fe21ef08a6b2745e4bf3b6f59b17a60426427b426e33144774a89
|
|
Changed description
from The @stock@ plugin provides a datatype for deriving and synthesising
instances at compile time. @stock-hashable@ extends the @stock@ with
support for @Hashable@ and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
@stock-hashable@ provides three instances, that signal to the plugin
how to derive @Hashable@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
to The <https://hackage.haskell.org/package/stock stock> plugin provides a datatype for deriving and synthesising
instances at compile time. @stock-hashable@ extends the <https://hackage.haskell.org/package/stock stock> with
support for @Hashable@ and higher-kinded variants.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Stock
> import Stock.Hashable
>
> data Pair a b = Pair a b
> deriving (Eq, Hashable) via Stock (Pair a b)
> deriving (Eq1, Hashable1) via Stock1 (Pair a)
> deriving (Eq2, Hashable2) via Stock2 Pair
@stock-hashable@ provides three instances, that signal to the plugin
how to derive @Hashable@.
> instance DeriveStock Hashable ..
> instance DeriveStock1 Hashable1 ..
> instance DeriveStock2 Hashable2 ..
|
| -r0 |
2026-06-23T15:43:49Z |
BaldurBlondal |
9f29ff16b458f42e5cc1c08986e7f929fe931ace324fec8f6541a47e292b51ef
|
|
|