proton-0.0.4
Safe HaskellNone
LanguageHaskell2010

Proton.Glass

Documentation

type Glass s t a b = forall p. (Strong p, Closed p) => Optic p s t a b Source #

type Glass' s a = Glass s s a a Source #

type Glassed p = (Strong p, Closed p) Source #

glassed :: (Strong p, Closed p) => p a b -> p (s, u -> a) (s, u -> b) Source #

glass :: forall p s t a b. Glassed p => (((s -> a) -> b) -> s -> t) -> p a b -> p s t Source #

glassList :: forall a b. Glass [a] [b] a b Source #

extendOf :: Comonad w => Optic (Costar w) s t a b -> (w a -> b) -> w s -> w t Source #

traversed' :: forall f a b. Traversable f => Glass (f a) (f b) a b Source #