comonad-5.0.8: Comonads
Copyright (C) 2008-2014 Edward Kmett
License BSD-style (see the file LICENSE)
Maintainer Edward Kmett <ekmett@gmail.com>
Stability experimental
Portability non-portable (fundeps, MPTCs)
Safe Haskell Safe
Language Haskell2010

Control.Comonad.Traced

Description

Synopsis

ComonadTraced class

class Comonad w => ComonadTraced m w | w -> m where Source #

Methods

trace :: m -> w a -> a Source #

traces :: ComonadTraced m w => (a -> m) -> w a -> a Source #

The Traced comonad

The TracedT comonad transformer

newtype TracedT m w a Source #

Constructors

TracedT

Fields

Instances

Instances details
( Comonad w, Monoid m) => ComonadTraced m ( TracedT m w) Source #
Instance details

Defined in Control.Comonad.Traced.Class

Methods

trace :: m -> TracedT m w a -> a Source #

( ComonadStore s w, Monoid m) => ComonadStore s ( TracedT m w) Source #
Instance details

Defined in Control.Comonad.Store.Class

Methods

pos :: TracedT m w a -> s Source #

peek :: s -> TracedT m w a -> a Source #

peeks :: (s -> s) -> TracedT m w a -> a Source #

seek :: s -> TracedT m w a -> TracedT m w a Source #

seeks :: (s -> s) -> TracedT m w a -> TracedT m w a Source #

experiment :: Functor f => (s -> f s) -> TracedT m w a -> f a Source #

( ComonadEnv e w, Monoid m) => ComonadEnv e ( TracedT m w) Source #
Instance details

Defined in Control.Comonad.Env.Class

Methods

ask :: TracedT m w a -> e Source #

ComonadHoist ( TracedT m) Source #
Instance details

Defined in Control.Comonad.Trans.Traced

Methods

cohoist :: ( Comonad w, Comonad v) => ( forall x. w x -> v x) -> TracedT m w a -> TracedT m v a Source #

Monoid m => ComonadTrans ( TracedT m) Source #
Instance details

Defined in Control.Comonad.Trans.Traced

Methods

lower :: Comonad w => TracedT m w a -> w a Source #

Functor w => Functor ( TracedT m w) Source #
Instance details

Defined in Control.Comonad.Trans.Traced

Methods

fmap :: (a -> b) -> TracedT m w a -> TracedT m w b Source #

(<$) :: a -> TracedT m w b -> TracedT m w a Source #

Applicative w => Applicative ( TracedT m w) Source #
Instance details

Defined in Control.Comonad.Trans.Traced

Distributive w => Distributive ( TracedT m w) Source #
Instance details

Defined in Control.Comonad.Trans.Traced

Methods

distribute :: Functor f => f ( TracedT m w a) -> TracedT m w (f a) Source #

collect :: Functor f => (a -> TracedT m w b) -> f a -> TracedT m w (f b) Source #

distributeM :: Monad m0 => m0 ( TracedT m w a) -> TracedT m w (m0 a) Source #

collectM :: Monad m0 => (a -> TracedT m w b) -> m0 a -> TracedT m w (m0 b) Source #

( ComonadApply w, Monoid m) => ComonadApply ( TracedT m w) Source #
Instance details

Defined in Control.Comonad.Trans.Traced

( Comonad w, Monoid m) => Comonad ( TracedT m w) Source #
Instance details

Defined in Control.Comonad.Trans.Traced

FunctorWithIndex i w => FunctorWithIndex (s, i) ( TracedT s w) Source #
Instance details

Defined in Control.Comonad.Trans.Traced

Methods

imap :: ((s, i) -> a -> b) -> TracedT s w a -> TracedT s w b Source #

Re-exported modules