Safe Haskell | Safe-Inferred |
---|---|

Language | Haskell2010 |

## Synopsis

- data CellExcept a b m e where
- Return :: e -> CellExcept a b m e
- Bind :: CellExcept a b m e1 -> (e1 -> CellExcept a b m e2) -> CellExcept a b m e2
- Try :: (Data e, Finite e) => Cell (ExceptT e m) a b -> CellExcept a b m e

- runCellExcept :: Monad m => CellExcept a b m e -> Cell (ExceptT e m) a b
- try :: (Data e, Finite e) => Cell (ExceptT e m) a b -> CellExcept a b m e
- safely :: Monad m => CellExcept a b m Void -> Cell m a b
- discardVoid :: Functor m => ExceptT Void m a -> m a
- safe :: Monad m => Cell m a b -> CellExcept a b m Void
- once :: (Monad m, Data e, Finite e) => (a -> m e) -> CellExcept a arbitrary m e
- once_ :: (Monad m, Data e, Finite e) => m e -> CellExcept a arbitrary m e

# Documentation

data CellExcept a b m e where Source #

Return :: e -> CellExcept a b m e | |

Bind :: CellExcept a b m e1 -> (e1 -> CellExcept a b m e2) -> CellExcept a b m e2 | |

Try :: (Data e, Finite e) => Cell (ExceptT e m) a b -> CellExcept a b m e |

#### Instances

MFunctor (CellExcept a b :: (Type -> Type) -> Type -> Type) Source # | |

Defined in LiveCoding.CellExcept hoist :: forall m n (b0 :: k). Monad m => (forall a0. m a0 -> n a0) -> CellExcept a b m b0 -> CellExcept a b n b0 # | |

Monad m => Monad (CellExcept a b m) Source # | |

Defined in LiveCoding.CellExcept (>>=) :: CellExcept a b m a0 -> (a0 -> CellExcept a b m b0) -> CellExcept a b m b0 # (>>) :: CellExcept a b m a0 -> CellExcept a b m b0 -> CellExcept a b m b0 # return :: a0 -> CellExcept a b m a0 # | |

Monad m => Functor (CellExcept a b m) Source # | |

Defined in LiveCoding.CellExcept fmap :: (a0 -> b0) -> CellExcept a b m a0 -> CellExcept a b m b0 # (<$) :: a0 -> CellExcept a b m b0 -> CellExcept a b m a0 # | |

Monad m => Applicative (CellExcept a b m) Source # | |

Defined in LiveCoding.CellExcept pure :: a0 -> CellExcept a b m a0 # (<*>) :: CellExcept a b m (a0 -> b0) -> CellExcept a b m a0 -> CellExcept a b m b0 # liftA2 :: (a0 -> b0 -> c) -> CellExcept a b m a0 -> CellExcept a b m b0 -> CellExcept a b m c # (*>) :: CellExcept a b m a0 -> CellExcept a b m b0 -> CellExcept a b m b0 # (<*) :: CellExcept a b m a0 -> CellExcept a b m b0 -> CellExcept a b m a0 # |

runCellExcept :: Monad m => CellExcept a b m e -> Cell (ExceptT e m) a b Source #