HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulelens-5.3.5Haskell2010

Control.Lens.Internal.Bazaar

  • 8 types
  • 2 classes
  • Packagelens-5.3.5
  • Exports10
  • LanguageHaskell2010
  • LicenceBSD-2-Clause
  • SourceBazaar.hs
classclass Profunctor p => Bizarre (p :: Type -> Type -> Type) (w :: Type -> Type -> Type -> Type) | w -> p where
#

This class is used to run the various Bazaar variants used in this library.

Methods

Instances5Bizarre
newtypenewtype Bazaar (p :: Type -> Type -> Type) a b t
#

This is used to characterize a Control.Lens.Traversal.Traversal.

a.k.a. indexed Cartesian store comonad, indexed Kleene store comonad, or an indexed FunList.

http://twanvl.nl/blog/haskell/non-regular1

A Bazaar is like a Control.Lens.Traversal.Traversal that has already been applied to some structure.

Where a Context a b t holds an a and a function from b to t, a Bazaar a b t holds N as and a function from N bs to t, (where N might be infinite).

Mnemonically, a Bazaar holds many stores and you can easily add more.

This is a final encoding of Bazaar.

Constructors

Instances9Bizarre, Sellable, IndexedComonad, IndexedFunctor, Functor, Applicative, …
newtypenewtype BazaarT (p :: Type -> Type -> Type) (g :: Type -> Type) a b t
#

BazaarT is like Bazaar, except that it provides a questionable Contravariant instance To protect this instance it relies on the soundness of another Contravariant type, and usage conventions.

For example. This lets us write a suitably polymorphic and lazy taking, but there must be a better way!

Constructors

Instances12Bizarre, Sellable, IndexedComonad, IndexedFunctor, Functor, Applicative, …
newtypenewtype Bazaar1 (p :: Type -> Type -> Type) a b t
#

This is used to characterize a Control.Lens.Traversal.Traversal.

a.k.a. indexed Cartesian store comonad, indexed Kleene store comonad, or an indexed FunList.

http://twanvl.nl/blog/haskell/non-regular1

A Bazaar1 is like a Control.Lens.Traversal.Traversal that has already been applied to some structure.

Where a Context a b t holds an a and a function from b to t, a Bazaar1 a b t holds N as and a function from N bs to t, (where N might be infinite).

Mnemonically, a Bazaar1 holds many stores and you can easily add more.

This is a final encoding of Bazaar1.

Constructors

Instances8Bizarre1, Sellable, IndexedComonad, IndexedFunctor, Functor, Comonad, …
newtypenewtype BazaarT1 (p :: Type -> Type -> Type) (g :: Type -> Type) a b t
#

BazaarT1 is like Bazaar1, except that it provides a questionable Contravariant instance To protect this instance it relies on the soundness of another Contravariant type, and usage conventions.

For example. This lets us write a suitably polymorphic and lazy taking, but there must be a better way!

Constructors

Instances10Bizarre1, Sellable, IndexedComonad, IndexedFunctor, Functor, Contravariant, …