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 |
| -r11 |
2026-06-24T01:42:50Z |
BaldurBlondal |
1301caf57fa2b2b10fcc4caec7e2bad2f760cff815a0cfe0c50edfaf1e4ec2df
|
|
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-profunctors__ extends it to support
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i)
> -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@ that signals to the plugin how to derive
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
<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>@
* __@<https://hackage.haskell.org/package/stock-hashable 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>@
* __@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-profunctors__ extends it to support
@<https://hackage-content.haskell.org/package/profunctors-5.6.3/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i)
> -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctors__ provides an instance for @DeriveStock2
Profunctor@ that signals to the plugin how to derive
@<https://hackage-content.haskell.org/package/profunctors-5.6.3/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
<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>@
* __@<https://hackage.haskell.org/package/stock-hashable 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>@
* __@stock-profunctors@__: @<https://hackage-content.haskell.org/package/profunctors-5.6.3/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r10 |
2026-06-24T00:28:28Z |
BaldurBlondal |
6dbb5be319377477dabf73c961e6323895b67c39a5e7f1bf6ce9632b18416273
|
|
Changed description
from The @<https://hackage.haskell.org/package/stock stock>@ plugin
provides a datatype for deriving and synthesising instances at
compile time. __stock-profunctors__ extends it to support
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i)
> -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@, that signals to the plugin how to derive
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
@<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>@
* @<https://hackage.haskell.org/package/stock-hashable 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>@
* __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-profunctors__ extends it to support
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i)
> -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@ that signals to the plugin how to derive
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
<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>@
* __@<https://hackage.haskell.org/package/stock-hashable 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>@
* __@stock-profunctors@__: @<https://hackage-content.haskell.org/package/profunctors-5.6.3/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r9 |
2026-06-23T20:01:48Z |
BaldurBlondal |
88e91cab6fa8b3d2e7a89ec7a64cf3b35958fc675d2e92292e2968c3a13302e1
|
|
Changed description
from The @<https://hackage.haskell.org/package/stock stock>@ plugin
provides a datatype for deriving and synthesising instances at
compile time. __stock-profunctors__ extends it to support
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i)
> -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@, that signals to the plugin how to derive
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor
Profunctor>@.
@<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>@
* @<https://hackage.haskell.org/package/stock-hashable 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>@
* __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-profunctors__ extends it to support
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i)
> -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@, that signals to the plugin how to derive
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
@<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>@
* @<https://hackage.haskell.org/package/stock-hashable 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>@
* __stock-profunctors__: @<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r8 |
2026-06-23T18:37:59Z |
BaldurBlondal |
f41e492795dfb1dde70690243e1fb8da9e7dd67da0aa92206db2b53b5831614a
|
|
Changed description
from The @<https://hackage.haskell.org/package/stock stock>@ plugin
provides a datatype for deriving and synthesising instances at
compile time. __stock-profunctors__ extends it with support for
@Profunctor@,
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i)
> -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@, that signals to the plugin how to derive @Profunctor@.
@<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>@
* @<https://hackage.haskell.org/package/stock-hashable 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>@
* __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-profunctors__ extends it to support
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@.
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i)
> -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@, that signals to the plugin how to derive
@<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor
Profunctor>@.
@<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>@
* @<https://hackage.haskell.org/package/stock-hashable 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>@
* __stock-profunctors__: @<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r7 |
2026-06-23T18:28:29Z |
BaldurBlondal |
7a9f9f3f9d728d5d938d674553063ba5096e039ec07b5e4f0d68e703793d8a96
|
|
Changed description
from The @<https://hackage.haskell.org/package/stock stock>@ plugin
provides a datatype for deriving and synthesising instances at
compile time. __stock-profunctors__ extends the
@<https://hackage.haskell.org/package/stock stock>@ with support for
@Profunctor@,
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i) -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@, that signal to the plugin how to derive @Profunctor@.
Companion packages include:
* @<https://hackage.haskell.org/package/stock-deepseq stock>@
* @<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>@
* @<https://hackage.haskell.org/package/stock-hashable 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>@
* __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-profunctors__ extends it with support for
@Profunctor@,
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i)
> -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@, that signals to the plugin how to derive @Profunctor@.
@<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>@
* @<https://hackage.haskell.org/package/stock-hashable 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>@
* __stock-profunctors__: @<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r6 |
2026-06-23T18:17:05Z |
BaldurBlondal |
e2f5532b03287d2532d9dcead71eecf6ba62c04ecb2cc71837b7f7d78ce32903
|
|
Changed description
from A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor> is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
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>
* <https://hackage.haskell.org/package/stock-hashable 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>
* __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-profunctors__ extends the
@<https://hackage.haskell.org/package/stock stock>@ with support for
@Profunctor@,
> {-# options_ghc -fplugin Stock #-}
>
> {-# language DerivingVia #-}
>
> import Data.Kind
> import Stock
> import Stock.Profunctor
>
> type Foo :: Type -> Type -> Type
> newtype Foo i o = Foo ((((o -> i) -> o) -> i) -> (((i -> o) -> i) -> o))
> deriving Functor via Stock1 (Foo i)
> deriving Profunctor via Stock2 Foo
__stock-profunctor__ provides an instance for @DeriveStock2
Profunctor@, that signal to the plugin how to derive @Profunctor@.
Companion packages include:
* @<https://hackage.haskell.org/package/stock-deepseq stock>@
* @<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>@
* @<https://hackage.haskell.org/package/stock-hashable 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>@
* __stock-profunctors__: @<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>@
|
| -r5 |
2026-06-23T17:53:45Z |
BaldurBlondal |
8b2fb19be008848f8419a7c1e2ca74f9d0c64b4c15ee45cc4e6347520d4113a3
|
|
Changed description
from A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
@Profunctor@ is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
Companion packages include:
* <https://hackage.haskell.org/package/stock-deepseq @stock-deepseq@>: @NFData@, @NFData1@, @NFData2@
* <https://hackage.haskell.org/package/stock-hashable @stock-hashable@>: @Hashable@, @Hashable1@, @Hashable2@
* <https://hackage.haskell.org/package/stock-aeson @stock-aeson@>: @ToJSON@, @ToJSON1@, @ToJSON2@; @FromJSON@,
@FromJSON1@, @FromJSON2@
* <https://hackage.haskell.org/package/stock-quickcheck @stock-quickcheck@>: @Arbitrary@, @Arbitrary1@, @Arbitrary2@;
@CoArbitrary@
* __stock-profunctors__: @Profunctor@
to A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
<https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor> is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
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>
* <https://hackage.haskell.org/package/stock-hashable 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>
* __stock-profunctors__: <https://hackage.haskell.org/package/profunctors/docs/Data-Profunctor.html#t:Profunctor Profunctor>
|
| -r4 |
2026-06-23T17:42:49Z |
BaldurBlondal |
563d095dfe95c24321202dae513f3f5e908df56eeff95bace750eafeb1ac14d5
|
|
Changed description
from A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
@Profunctor@ is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
Companion packages include:
* <https://hackage.haskell.org/package/stock-deepseq stock-deepseq>: @NFData@, @NFData1@, @NFData2@
* <https://hackage.haskell.org/package/stock-hashable stock-hashable>: @Hashable@, @Hashable1@, @Hashable2@
* <https://hackage.haskell.org/package/stock-aeson stock-aeson>: @ToJSON@, @ToJSON1@, @ToJSON2@; @FromJSON@,
@FromJSON1@, @FromJSON2@
* <https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>: @Arbitrary@, @Arbitrary1@, @Arbitrary2@;
@CoArbitrary@
* *stock-profunctors*: @Profunctor@
to A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
@Profunctor@ is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
Companion packages include:
* <https://hackage.haskell.org/package/stock-deepseq @stock-deepseq@>: @NFData@, @NFData1@, @NFData2@
* <https://hackage.haskell.org/package/stock-hashable @stock-hashable@>: @Hashable@, @Hashable1@, @Hashable2@
* <https://hackage.haskell.org/package/stock-aeson @stock-aeson@>: @ToJSON@, @ToJSON1@, @ToJSON2@; @FromJSON@,
@FromJSON1@, @FromJSON2@
* <https://hackage.haskell.org/package/stock-quickcheck @stock-quickcheck@>: @Arbitrary@, @Arbitrary1@, @Arbitrary2@;
@CoArbitrary@
* __stock-profunctors__: @Profunctor@
|
| -r3 |
2026-06-23T16:32:11Z |
BaldurBlondal |
aa9f8ac039362b14e68cc8afaa2424a0fa5b29ddc5d9765a873732343fc50862
|
|
Changed description
from A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
@Profunctor@ is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
Companion packages include:
* <https://hackage.haskell.org/package/stock-deepseq stock-deepseq>: @NFData@, @NFData1@, @NFData2@
* <https://hackage.haskell.org/package/stock-hashable stock-hashable>: @Hashable@, @Hashable1@, @Hashable2@
* <https://hackage.haskell.org/package/stock-aeson stock-aeson>: @ToJSON@, @ToJSON1@, @ToJSON2@; @FromJSON@,
@FromJSON1@, @FromJSON2@
* <https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>: @Arbitrary@, @Arbitrary1@, @Arbitrary2@;
@CoArbitrary@
* **stock-profunctors**: @Profunctor@
to A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
@Profunctor@ is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
Companion packages include:
* <https://hackage.haskell.org/package/stock-deepseq stock-deepseq>: @NFData@, @NFData1@, @NFData2@
* <https://hackage.haskell.org/package/stock-hashable stock-hashable>: @Hashable@, @Hashable1@, @Hashable2@
* <https://hackage.haskell.org/package/stock-aeson stock-aeson>: @ToJSON@, @ToJSON1@, @ToJSON2@; @FromJSON@,
@FromJSON1@, @FromJSON2@
* <https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>: @Arbitrary@, @Arbitrary1@, @Arbitrary2@;
@CoArbitrary@
* *stock-profunctors*: @Profunctor@
|
| -r2 |
2026-06-23T16:31:51Z |
BaldurBlondal |
98f940523b28fb1a88229f275f8a94bbe235c9f00544483f85a824bd345d3c19
|
|
Changed description
from A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
@Profunctor@ is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
to A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
@Profunctor@ is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
Companion packages include:
* <https://hackage.haskell.org/package/stock-deepseq stock-deepseq>: @NFData@, @NFData1@, @NFData2@
* <https://hackage.haskell.org/package/stock-hashable stock-hashable>: @Hashable@, @Hashable1@, @Hashable2@
* <https://hackage.haskell.org/package/stock-aeson stock-aeson>: @ToJSON@, @ToJSON1@, @ToJSON2@; @FromJSON@,
@FromJSON1@, @FromJSON2@
* <https://hackage.haskell.org/package/stock-quickcheck stock-quickcheck>: @Arbitrary@, @Arbitrary1@, @Arbitrary2@;
@CoArbitrary@
* **stock-profunctors**: @Profunctor@
|
| -r1 |
2026-06-23T16:30:31Z |
BaldurBlondal |
6deb5ac59891e6878b058e4d805e0e7ce13daec6873ebb2f5982f7c169026623
|
|
Changed description
from A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the @stock@ plugin discovers and runs, so no extra @-fplugin@ is
needed.
@Profunctor@ is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
to A companion for the <https://hackage.haskell.org/package/stock stock> plugin: depend on @stock-profunctors@ and you can
write @data P a b = … deriving Profunctor via Stock2 P@. It is /not/ a plugin
, it registers an @instance DeriveStock2 Profunctor@ (on the "Stock.Derive"
SDK) that the <https://hackage.haskell.org/package/stock stock> plugin discovers and runs, so no extra @-fplugin@ is
needed.
@Profunctor@ is the @[Contra, Co]@ case of the plugin's n-ary variance functor
engine, the same recursion as @Functor@ \/ @Contravariant@ \/ @Bifunctor@.
|
| -r0 |
2026-06-23T15:43:50Z |
BaldurBlondal |
c95c488d496bc5d6ff4712ea69406c034f328fb6e2197bdacf48a4f6792560a2
|
|
|