indexed-state-0.0.5: Indexed State
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.State.Profunctor.IxState

Synopsis

Documentation

newtype IxStateT f t s a Source #

Constructors

IxStateT (s -> f (a, t)) 

Instances

Instances details
IxBindTrans IxStateT Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

iliftB :: Bind f => f a -> IxStateT f s s a Source #

IxMonadTrans IxStateT Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

ilift :: Monad f => f a -> IxStateT f s s a Source #

(Monoid t, Monad f) => Category (IxStateT f t :: Type -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

id :: forall (a :: k). IxStateT f t a a #

(.) :: forall (b :: k) (c :: k) (a :: k). IxStateT f t b c -> IxStateT f t a b -> IxStateT f t a c #

(Semigroup t, Bind f) => Semigroupoid (IxStateT f t :: Type -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

o :: forall (j :: k) (k1 :: k) (i :: k). IxStateT f t j k1 -> IxStateT f t i j -> IxStateT f t i k1 #

MonadError r f => MonadError r (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

throwError :: r -> IxStateT f s s a #

catchError :: IxStateT f s s a -> (r -> IxStateT f s s a) -> IxStateT f s s a #

MonadReader r f => MonadReader r (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

ask :: IxStateT f s s r #

local :: (r -> r) -> IxStateT f s s a -> IxStateT f s s a #

reader :: (r -> a) -> IxStateT f s s a #

Monad f => MonadState s (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

get :: IxStateT f s s s #

put :: s -> IxStateT f s s () #

state :: (s -> (a, s)) -> IxStateT f s s a #

MonadWriter r f => MonadWriter r (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

writer :: (a, r) -> IxStateT f s s a #

tell :: r -> IxStateT f s s () #

listen :: IxStateT f s s a -> IxStateT f s s (a, r) #

pass :: IxStateT f s s (a, r -> r) -> IxStateT f s s a #

Alt f => IxAlt (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(<|.|>) :: IxStateT f i j a -> IxStateT f i j a -> IxStateT f i j a Source #

(Alt f, Alternative f) => IxAlternative (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

iempty :: IxStateT f i j a Source #

Monad f => IxApplicative (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

ipure :: a -> IxStateT f i i a Source #

Monad f => IxApply (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(<*.*>) :: IxStateT f j k (a -> b) -> IxStateT f i j a -> IxStateT f i k b Source #

Monad f => IxBind (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(-<<<) :: (a -> IxStateT f i j b) -> IxStateT f j k a -> IxStateT f i k b Source #

(>>>-) :: IxStateT f j k a -> (a -> IxStateT f i j b) -> IxStateT f i k b Source #

Functor f => IxFunctor (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

($.$) :: (a -> b) -> IxStateT f j k a -> IxStateT f j k b Source #

Monad f => IxMonad (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

MonadCont f => IxMonadCont (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

icallCC :: ((a -> IxStateT f t r b) -> IxStateT f r s a) -> IxStateT f r s a Source #

MonadFix f => IxMonadFix (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

imfix :: (a -> IxStateT f t s a) -> IxStateT f t s a Source #

Monad f => IxMonadState (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

iget :: IxStateT f t t t Source #

iput :: t -> IxStateT f t s () Source #

istate :: (s -> (a, t)) -> IxStateT f t s a Source #

imodify :: (s -> t) -> IxStateT f t s () Source #

igets :: (s -> t) -> IxStateT f s s t Source #

(Monad f, Monoid t) => Arrow (IxStateT f t) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

arr :: (b -> c) -> IxStateT f t b c #

first :: IxStateT f t b c -> IxStateT f t (b, d) (c, d) #

second :: IxStateT f t b c -> IxStateT f t (d, b) (d, c) #

(***) :: IxStateT f t b c -> IxStateT f t b' c' -> IxStateT f t (b, b') (c, c') #

(&&&) :: IxStateT f t b c -> IxStateT f t b c' -> IxStateT f t b (c, c') #

(Monad f, Monoid t) => ArrowApply (IxStateT f t) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

app :: IxStateT f t (IxStateT f t b c, b) c #

(Monad f, Monoid t) => ArrowChoice (IxStateT f t) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

left :: IxStateT f t b c -> IxStateT f t (Either b d) (Either c d) #

right :: IxStateT f t b c -> IxStateT f t (Either d b) (Either d c) #

(+++) :: IxStateT f t b c -> IxStateT f t b' c' -> IxStateT f t (Either b b') (Either c c') #

(|||) :: IxStateT f t b d -> IxStateT f t c d -> IxStateT f t (Either b c) d #

(Monoid t, Applicative f) => Choice (IxStateT f t) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

left' :: IxStateT f t a b -> IxStateT f t (Either a c) (Either b c) #

right' :: IxStateT f t a b -> IxStateT f t (Either c a) (Either c b) #

Functor f => Strong (IxStateT f t) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

first' :: IxStateT f t a b -> IxStateT f t (a, c) (b, c) #

second' :: IxStateT f t a b -> IxStateT f t (c, a) (c, b) #

Functor f => Profunctor (IxStateT f t) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

dimap :: (a -> b) -> (c -> d) -> IxStateT f t b c -> IxStateT f t a d #

lmap :: (a -> b) -> IxStateT f t b c -> IxStateT f t a c #

rmap :: (b -> c) -> IxStateT f t a b -> IxStateT f t a c #

(#.) :: forall a b c q. Coercible c b => q b c -> IxStateT f t a b -> IxStateT f t a c #

(.#) :: forall a b c q. Coercible b a => IxStateT f t b c -> q a b -> IxStateT f t a c #

MonadFix f => MonadFix (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

mfix :: (a -> IxStateT f s s a) -> IxStateT f s s a #

MonadIO f => MonadIO (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

liftIO :: IO a -> IxStateT f s s a #

(Alternative f, Monad f) => Alternative (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

empty :: IxStateT f s s a #

(<|>) :: IxStateT f s s a -> IxStateT f s s a -> IxStateT f s s a #

some :: IxStateT f s s a -> IxStateT f s s [a] #

many :: IxStateT f s s a -> IxStateT f s s [a] #

Monad f => Applicative (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

pure :: a -> IxStateT f s s a #

(<*>) :: IxStateT f s s (a -> b) -> IxStateT f s s a -> IxStateT f s s b #

liftA2 :: (a -> b -> c) -> IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s c #

(*>) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s b #

(<*) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s a #

Functor f => Functor (IxStateT f t s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

fmap :: (a -> b) -> IxStateT f t s a -> IxStateT f t s b #

(<$) :: a -> IxStateT f t s b -> IxStateT f t s a #

Monad f => Monad (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(>>=) :: IxStateT f s s a -> (a -> IxStateT f s s b) -> IxStateT f s s b #

(>>) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s b #

return :: a -> IxStateT f s s a #

MonadCont f => MonadCont (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

callCC :: ((a -> IxStateT f s s b) -> IxStateT f s s a) -> IxStateT f s s a #

Alt f => Alt (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(<!>) :: IxStateT f s s a -> IxStateT f s s a -> IxStateT f s s a #

some :: Applicative (IxStateT f s s) => IxStateT f s s a -> IxStateT f s s [a] #

many :: Applicative (IxStateT f s s) => IxStateT f s s a -> IxStateT f s s [a] #

Monad f => Apply (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(<.>) :: IxStateT f s s (a -> b) -> IxStateT f s s a -> IxStateT f s s b #

(.>) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s b #

(<.) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s a #

liftF2 :: (a -> b -> c) -> IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s c #

Monad f => Bind (IxStateT f s s) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(>>-) :: IxStateT f s s a -> (a -> IxStateT f s s b) -> IxStateT f s s b #

join :: IxStateT f s s (IxStateT f s s a) -> IxStateT f s s a #

(Applicative f, Apply f, Monoid a, Monoid t) => Monoid (IxStateT f t s a) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

mempty :: IxStateT f t s a #

mappend :: IxStateT f t s a -> IxStateT f t s a -> IxStateT f t s a #

mconcat :: [IxStateT f t s a] -> IxStateT f t s a #

(Apply f, Semigroup a, Semigroup t) => Semigroup (IxStateT f t s a) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(<>) :: IxStateT f t s a -> IxStateT f t s a -> IxStateT f t s a #

sconcat :: NonEmpty (IxStateT f t s a) -> IxStateT f t s a #

stimes :: Integral b => b -> IxStateT f t s a -> IxStateT f t s a #

Wrapped (IxStateT f t s a) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Associated Types

type Unwrapped (IxStateT f t s a) #

Methods

_Wrapped' :: Iso' (IxStateT f t s a) (Unwrapped (IxStateT f t s a)) #

IxStateT f t s a ~ x => Rewrapped (IxStateT f' t' s' a') x Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

type Unwrapped (IxStateT f t s a) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

type Unwrapped (IxStateT f t s a) = s -> f (a, t)

type IxState t s a = IxStateT Identity t s a Source #

ixState :: Iso (IxState t s a) (IxState t' s' a') (s -> (a, t)) (s' -> (a', t')) Source #

swap :: (Functor f, Functor f') => Iso (IxStateT f t s a) (IxStateT f' t' s' a') (IxStateT f a s t) (IxStateT f' a' s' t') Source #

newtype Identity a #

Identity functor and monad. (a non-strict monad)

Since: base-4.8.0.0

Constructors

Identity 

Fields

Instances

Instances details
Representable Identity 
Instance details

Defined in Data.Functor.Rep

Associated Types

type Rep Identity #

Methods

tabulate :: (Rep Identity -> a) -> Identity a #

index :: Identity a -> Rep Identity -> a #

MonadFix Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

mfix :: (a -> Identity a) -> Identity a #

Foldable Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

fold :: Monoid m => Identity m -> m #

foldMap :: Monoid m => (a -> m) -> Identity a -> m #

foldMap' :: Monoid m => (a -> m) -> Identity a -> m #

foldr :: (a -> b -> b) -> b -> Identity a -> b #

foldr' :: (a -> b -> b) -> b -> Identity a -> b #

foldl :: (b -> a -> b) -> b -> Identity a -> b #

foldl' :: (b -> a -> b) -> b -> Identity a -> b #

foldr1 :: (a -> a -> a) -> Identity a -> a #

foldl1 :: (a -> a -> a) -> Identity a -> a #

toList :: Identity a -> [a] #

null :: Identity a -> Bool #

length :: Identity a -> Int #

elem :: Eq a => a -> Identity a -> Bool #

maximum :: Ord a => Identity a -> a #

minimum :: Ord a => Identity a -> a #

sum :: Num a => Identity a -> a #

product :: Num a => Identity a -> a #

Applicative Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

pure :: a -> Identity a #

(<*>) :: Identity (a -> b) -> Identity a -> Identity b #

liftA2 :: (a -> b -> c) -> Identity a -> Identity b -> Identity c #

(*>) :: Identity a -> Identity b -> Identity b #

(<*) :: Identity a -> Identity b -> Identity a #

Functor Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

fmap :: (a -> b) -> Identity a -> Identity b #

(<$) :: a -> Identity b -> Identity a #

Monad Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

(>>=) :: Identity a -> (a -> Identity b) -> Identity b #

(>>) :: Identity a -> Identity b -> Identity b #

return :: a -> Identity a #

NFData1 Identity

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

liftRnf :: (a -> ()) -> Identity a -> () #

Hashable1 Identity 
Instance details

Defined in Data.Hashable.Class

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Identity a -> Int #

Alt Identity

Choose the first option every time. While 'choose the last option' every time is also valid, this instance satisfies more laws.

Since: semigroupoids-5.3.6

Instance details

Defined in Data.Functor.Alt

Apply Identity 
Instance details

Defined in Data.Functor.Bind.Class

Methods

(<.>) :: Identity (a -> b) -> Identity a -> Identity b #

(.>) :: Identity a -> Identity b -> Identity b #

(<.) :: Identity a -> Identity b -> Identity a #

liftF2 :: (a -> b -> c) -> Identity a -> Identity b -> Identity c #

Bind Identity 
Instance details

Defined in Data.Functor.Bind.Class

Methods

(>>-) :: Identity a -> (a -> Identity b) -> Identity b #

join :: Identity (Identity a) -> Identity a #

Generic1 Identity 
Instance details

Defined in Data.Functor.Identity

Associated Types

type Rep1 Identity :: k -> Type #

Methods

from1 :: forall (a :: k). Identity a -> Rep1 Identity a #

to1 :: forall (a :: k). Rep1 Identity a -> Identity a #

Cosieve ReifiedGetter Identity 
Instance details

Defined in Control.Lens.Reified

Methods

cosieve :: ReifiedGetter a b -> Identity a -> b #

Sieve ReifiedGetter Identity 
Instance details

Defined in Control.Lens.Reified

Methods

sieve :: ReifiedGetter a b -> a -> Identity b #

Unbox a => Vector Vector (Identity a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Unbox a => MVector MVector (Identity a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Storable a => Storable (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Methods

sizeOf :: Identity a -> Int #

alignment :: Identity a -> Int #

peekElemOff :: Ptr (Identity a) -> Int -> IO (Identity a) #

pokeElemOff :: Ptr (Identity a) -> Int -> Identity a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Identity a) #

pokeByteOff :: Ptr b -> Int -> Identity a -> IO () #

peek :: Ptr (Identity a) -> IO (Identity a) #

poke :: Ptr (Identity a) -> Identity a -> IO () #

Monoid a => Monoid (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Methods

mempty :: Identity a #

mappend :: Identity a -> Identity a -> Identity a #

mconcat :: [Identity a] -> Identity a #

Semigroup a => Semigroup (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Methods

(<>) :: Identity a -> Identity a -> Identity a #

sconcat :: NonEmpty (Identity a) -> Identity a #

stimes :: Integral b => b -> Identity a -> Identity a #

Bits a => Bits (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

FiniteBits a => FiniteBits (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Bounded a => Bounded (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Enum a => Enum (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Floating a => Floating (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

RealFloat a => RealFloat (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Generic (Identity a) 
Instance details

Defined in Data.Functor.Identity

Associated Types

type Rep (Identity a) :: Type -> Type #

Methods

from :: Identity a -> Rep (Identity a) x #

to :: Rep (Identity a) x -> Identity a #

Ix a => Ix (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Num a => Num (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Read a => Read (Identity a)

This instance would be equivalent to the derived instances of the Identity newtype if the runIdentity field were removed

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Fractional a => Fractional (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Integral a => Integral (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Real a => Real (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Methods

toRational :: Identity a -> Rational #

RealFrac a => RealFrac (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Methods

properFraction :: Integral b => Identity a -> (b, Identity a) #

truncate :: Integral b => Identity a -> b #

round :: Integral b => Identity a -> b #

ceiling :: Integral b => Identity a -> b #

floor :: Integral b => Identity a -> b #

Show a => Show (Identity a)

This instance would be equivalent to the derived instances of the Identity newtype if the runIdentity field were removed

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

showsPrec :: Int -> Identity a -> ShowS #

show :: Identity a -> String #

showList :: [Identity a] -> ShowS #

NFData a => NFData (Identity a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnf :: Identity a -> () #

Eq a => Eq (Identity a)

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

(==) :: Identity a -> Identity a -> Bool #

(/=) :: Identity a -> Identity a -> Bool #

Ord a => Ord (Identity a)

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

Methods

compare :: Identity a -> Identity a -> Ordering #

(<) :: Identity a -> Identity a -> Bool #

(<=) :: Identity a -> Identity a -> Bool #

(>) :: Identity a -> Identity a -> Bool #

(>=) :: Identity a -> Identity a -> Bool #

max :: Identity a -> Identity a -> Identity a #

min :: Identity a -> Identity a -> Identity a #

Hashable a => Hashable (Identity a) 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSalt :: Int -> Identity a -> Int #

hash :: Identity a -> Int #

Ixed (Identity a) 
Instance details

Defined in Control.Lens.At

Methods

ix :: Index (Identity a) -> Traversal' (Identity a) (IxValue (Identity a)) #

Wrapped (Identity a) 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Identity a) #

Unbox a => Unbox (Identity a) 
Instance details

Defined in Data.Vector.Unboxed.Base

t ~ Identity b => Rewrapped (Identity a) t 
Instance details

Defined in Control.Lens.Wrapped

Field1 (Identity a) (Identity b) a b 
Instance details

Defined in Control.Lens.Tuple

Methods

_1 :: Lens (Identity a) (Identity b) a b #

type Rep Identity 
Instance details

Defined in Data.Functor.Rep

type Rep Identity = ()
type Rep1 Identity

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

type Rep1 Identity = D1 ('MetaData "Identity" "Data.Functor.Identity" "base" 'True) (C1 ('MetaCons "Identity" 'PrefixI 'True) (S1 ('MetaSel ('Just "runIdentity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
newtype MVector s (Identity a) 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Identity a) = MV_Identity (MVector s a)
type Rep (Identity a)

Since: base-4.8.0.0

Instance details

Defined in Data.Functor.Identity

type Rep (Identity a) = D1 ('MetaData "Identity" "Data.Functor.Identity" "base" 'True) (C1 ('MetaCons "Identity" 'PrefixI 'True) (S1 ('MetaSel ('Just "runIdentity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
type Index (Identity a) 
Instance details

Defined in Control.Lens.At

type Index (Identity a) = ()
type IxValue (Identity a) 
Instance details

Defined in Control.Lens.At

type IxValue (Identity a) = a
type Unwrapped (Identity a) 
Instance details

Defined in Control.Lens.Wrapped

type Unwrapped (Identity a) = a
newtype Vector (Identity a) 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Identity a) = V_Identity (Vector a)

class Profunctor p => Strong (p :: Type -> Type -> Type) where #

Generalizing Star of a strong Functor

Note: Every Functor in Haskell is strong with respect to (,).

This describes profunctor strength with respect to the product structure of Hask.

http://www.riec.tohoku.ac.jp/~asada/papers/arrStrMnd.pdf

Minimal complete definition

first' | second'

Methods

first' :: p a b -> p (a, c) (b, c) #

Laws:

first'dimap swap swap . second'
lmap fstrmap fst . first'
lmap (second' f) . first'rmap (second' f) . first'
first' . first'dimap assoc unassoc . first' where
  assoc ((a,b),c) = (a,(b,c))
  unassoc (a,(b,c)) = ((a,b),c)

second' :: p a b -> p (c, a) (c, b) #

Laws:

second'dimap swap swap . first'
lmap sndrmap snd . second'
lmap (first' f) . second'rmap (first' f) . second'
second' . second'dimap unassoc assoc . second' where
  assoc ((a,b),c) = (a,(b,c))
  unassoc (a,(b,c)) = ((a,b),c)

Instances

Instances details
Strong ReifiedFold 
Instance details

Defined in Control.Lens.Reified

Methods

first' :: ReifiedFold a b -> ReifiedFold (a, c) (b, c) #

second' :: ReifiedFold a b -> ReifiedFold (c, a) (c, b) #

Strong ReifiedGetter 
Instance details

Defined in Control.Lens.Reified

Methods

first' :: ReifiedGetter a b -> ReifiedGetter (a, c) (b, c) #

second' :: ReifiedGetter a b -> ReifiedGetter (c, a) (c, b) #

Monad m => Strong (Kleisli m) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: Kleisli m a b -> Kleisli m (a, c) (b, c) #

second' :: Kleisli m a b -> Kleisli m (c, a) (c, b) #

Strong (Indexed i) 
Instance details

Defined in Control.Lens.Internal.Indexed

Methods

first' :: Indexed i a b -> Indexed i (a, c) (b, c) #

second' :: Indexed i a b -> Indexed i (c, a) (c, b) #

Strong (ReifiedIndexedFold i) 
Instance details

Defined in Control.Lens.Reified

Methods

first' :: ReifiedIndexedFold i a b -> ReifiedIndexedFold i (a, c) (b, c) #

second' :: ReifiedIndexedFold i a b -> ReifiedIndexedFold i (c, a) (c, b) #

Strong (ReifiedIndexedGetter i) 
Instance details

Defined in Control.Lens.Reified

Methods

first' :: ReifiedIndexedGetter i a b -> ReifiedIndexedGetter i (a, c) (b, c) #

second' :: ReifiedIndexedGetter i a b -> ReifiedIndexedGetter i (c, a) (c, b) #

Strong (Pastro p) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: Pastro p a b -> Pastro p (a, c) (b, c) #

second' :: Pastro p a b -> Pastro p (c, a) (c, b) #

Profunctor p => Strong (Tambara p) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: Tambara p a b -> Tambara p (a, c) (b, c) #

second' :: Tambara p a b -> Tambara p (c, a) (c, b) #

Functor f => Strong (IxStateT f t) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

first' :: IxStateT f t a b -> IxStateT f t (a, c) (b, c) #

second' :: IxStateT f t a b -> IxStateT f t (c, a) (c, b) #

Strong (Forget r :: Type -> Type -> Type) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: Forget r a b -> Forget r (a, c) (b, c) #

second' :: Forget r a b -> Forget r (c, a) (c, b) #

Functor m => Strong (Star m) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: Star m a b -> Star m (a, c) (b, c) #

second' :: Star m a b -> Star m (c, a) (c, b) #

Strong (->) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: (a -> b) -> (a, c) -> (b, c) #

second' :: (a -> b) -> (c, a) -> (c, b) #

Contravariant f => Strong (Clown f :: Type -> Type -> Type) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: Clown f a b -> Clown f (a, c) (b, c) #

second' :: Clown f a b -> Clown f (c, a) (c, b) #

Arrow p => Strong (WrappedArrow p)

Arrow is Strong Category

Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: WrappedArrow p a b -> WrappedArrow p (a, c) (b, c) #

second' :: WrappedArrow p a b -> WrappedArrow p (c, a) (c, b) #

(Strong p, Strong q) => Strong (Product p q) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: Product p q a b -> Product p q (a, c) (b, c) #

second' :: Product p q a b -> Product p q (c, a) (c, b) #

(Strong p, Strong q) => Strong (Sum p q) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: Sum p q a b -> Sum p q (a, c) (b, c) #

second' :: Sum p q a b -> Sum p q (c, a) (c, b) #

(Functor f, Strong p) => Strong (Tannen f p) 
Instance details

Defined in Data.Profunctor.Strong

Methods

first' :: Tannen f p a b -> Tannen f p (a, c) (b, c) #

second' :: Tannen f p a b -> Tannen f p (c, a) (c, b) #

(Strong p, Strong q) => Strong (Procompose p q) 
Instance details

Defined in Data.Profunctor.Composition

Methods

first' :: Procompose p q a b -> Procompose p q (a, c) (b, c) #

second' :: Procompose p q a b -> Procompose p q (c, a) (c, b) #

class IxFunctor f where Source #

Methods

($.$) :: (a -> b) -> f j k a -> f j k b infixl 4 Source #

Instances

Instances details
Functor f => IxFunctor (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

($.$) :: (a -> b) -> IxStateT f j k a -> IxStateT f j k b Source #

class IxFunctor f => IxApply f where Source #

Methods

(<*.*>) :: f j k (a -> b) -> f i j a -> f i k b infixl 4 Source #

Instances

Instances details
Monad f => IxApply (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(<*.*>) :: IxStateT f j k (a -> b) -> IxStateT f i j a -> IxStateT f i k b Source #

class IxApply f => IxApplicative f where Source #

Methods

ipure :: a -> f i i a Source #

Instances

Instances details
Monad f => IxApplicative (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

ipure :: a -> IxStateT f i i a Source #

class IxApply f => IxBind f where Source #

Minimal complete definition

(-<<<) | (>>>-)

Methods

(-<<<) :: (a -> f i j b) -> f j k a -> f i k b infixr 1 Source #

(>>>-) :: f j k a -> (a -> f i j b) -> f i k b infixr 1 Source #

Instances

Instances details
Monad f => IxBind (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(-<<<) :: (a -> IxStateT f i j b) -> IxStateT f j k a -> IxStateT f i k b Source #

(>>>-) :: IxStateT f j k a -> (a -> IxStateT f i j b) -> IxStateT f i k b Source #

class (IxApplicative f, IxBind f) => IxMonad f Source #

Instances

Instances details
Monad f => IxMonad (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

class IxFunctor f => IxAlt f where Source #

Methods

(<|.|>) :: f i j a -> f i j a -> f i j a infixl 3 Source #

Instances

Instances details
Alt f => IxAlt (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

(<|.|>) :: IxStateT f i j a -> IxStateT f i j a -> IxStateT f i j a Source #

class IxAlt f => IxAlternative f where Source #

Methods

iempty :: f i j a Source #

Instances

Instances details
(Alt f, Alternative f) => IxAlternative (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

iempty :: IxStateT f i j a Source #

class IxMonad f => IxMonadState f where Source #

Minimal complete definition

istate | iget, iput

Methods

iget :: f t t t Source #

iput :: t -> f t s () Source #

istate :: (s -> (a, t)) -> f t s a Source #

Instances

Instances details
Monad f => IxMonadState (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

iget :: IxStateT f t t t Source #

iput :: t -> IxStateT f t s () Source #

istate :: (s -> (a, t)) -> IxStateT f t s a Source #

imodify :: (s -> t) -> IxStateT f t s () Source #

igets :: (s -> t) -> IxStateT f s s t Source #

class IxMonadFix f where Source #

Methods

imfix :: (a -> f t s a) -> f t s a Source #

Instances

Instances details
MonadFix f => IxMonadFix (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

imfix :: (a -> IxStateT f t s a) -> IxStateT f t s a Source #

class IxMonadCont f where Source #

Methods

icallCC :: ((a -> f t r b) -> f r s a) -> f r s a Source #

Instances

Instances details
MonadCont f => IxMonadCont (IxStateT f) Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

icallCC :: ((a -> IxStateT f t r b) -> IxStateT f r s a) -> IxStateT f r s a Source #

class IxBindTrans g where Source #

Methods

iliftB :: Bind f => f a -> g f s s a Source #

Instances

Instances details
IxBindTrans IxStateT Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

iliftB :: Bind f => f a -> IxStateT f s s a Source #

class IxMonadTrans g where Source #

Methods

ilift :: Monad f => f a -> g f s s a Source #

Instances

Instances details
IxMonadTrans IxStateT Source # 
Instance details

Defined in Control.Monad.State.Profunctor.IxState

Methods

ilift :: Monad f => f a -> IxStateT f s s a Source #