indexed-0.1.3: Haskell98 indexed functors, monads, comonads

Copyright(C) 2008 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerReiner Pope <reiner.pope@gmail.com>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Control.Monad.Indexed

Description

 

Documentation

class IxFunctor f where Source #

Minimal complete definition

imap

Methods

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

class IxFunctor m => IxPointed m where Source #

Minimal complete definition

ireturn

Methods

ireturn :: a -> m i i a Source #

class IxPointed m => IxApplicative m where Source #

Minimal complete definition

iap

Methods

iap :: m i j (a -> b) -> m j k a -> m i k b Source #

class IxApplicative m => IxMonad m where Source #

Minimal complete definition

ibind

Methods

ibind :: (a -> m j k b) -> m i j a -> m i k b Source #

class IxMonad m => IxMonadZero m where Source #

Minimal complete definition

imzero

Methods

imzero :: m i j a Source #

class IxMonadZero m => IxMonadPlus m where Source #

Minimal complete definition

implus

Methods

implus :: m i j a -> m i j a -> m i j a Source #

ijoin :: IxMonad m => m i j (m j k a) -> m i k a Source #

(>>>=) :: IxMonad m => m i j a -> (a -> m j k b) -> m i k b infixl 1 Source #

(=<<<) :: IxMonad m => (a -> m j k b) -> m i j a -> m i k b infixr 1 Source #

iapIxMonad :: IxMonad m => m i j (a -> b) -> m j k a -> m i k b Source #