Module

Data.Lens.Grate

Package
profunctor-lenses
Repository
purerl/purescript-profunctor-lenses

This module defines functions for working with grates.

See http://r6research.livejournal.com/28050.html.

#grate Source

grate :: forall s t a b. (((s -> a) -> b) -> t) -> Grate s t a b

#withGrate Source

withGrate :: forall s t a b. AGrate s t a b -> ((s -> a) -> b) -> t

#cloneGrate Source

cloneGrate :: forall s t a b. AGrate s t a b -> Grate s t a b

#cotraversed Source

cotraversed :: forall f a b. Distributive f => Grate (f a) (f b) a b

#zipWithOf Source

zipWithOf :: forall s t a b. Optic Zipping s t a b -> (a -> a -> b) -> s -> s -> t

#zipFWithOf Source

zipFWithOf :: forall f s t a b. Optic (Costar f) s t a b -> (f a -> b) -> (f s -> t)

#collectOf Source

collectOf :: forall f s t a b. Functor f => Optic (Costar f) s t a (f a) -> (b -> s) -> f b -> t

Re-exports from Data.Lens.Types

#Optic Source

type Optic :: (Type -> Type -> Type) -> Type -> Type -> Type -> Type -> Typetype Optic p s t a b = p a b -> p s t

A general-purpose Data.Lens.

#Grate' Source

type Grate' s a = Grate s s a a

#Grate Source

type Grate s t a b = forall p. Closed p => Optic p s t a b

A grate (http://r6research.livejournal.com/28050.html)

#AGrate Source

type AGrate s t a b = Optic (Grating a b) s t a b