Safe Haskell | None |
---|

This module is for use with Libraries.Template.Lifting. It contains various lifted functions of general use. They are not intended to be used directly (although this would not break anything).

- template_symb_colon_ :: Monad m => m (a -> m ([a] -> m [a]))
- template_symb_obracket_symb_cbracket_ :: Monad m => m [a]
- template_init :: Monad m => m ([a] -> m [a])
- template_last :: Monad m => m ([a] -> m a)
- template_symb_plus_symb_plus_ :: Monad m => m ([a] -> m ([a] -> m [a]))
- template_zip3 :: Monad m => m ([a] -> m ([b] -> m ([c] -> m [(a, b, c)])))
- template_foldl :: Monad m => m ((a -> m (b -> m a)) -> m (a -> m ([b] -> m a)))
- template_reverse :: Monad m => m ([a] -> m [a])
- template_zipWith :: Monad m => m ((a -> m (b -> m c)) -> m ([a] -> m ([b] -> m [c])))
- template_fold_right_zip :: Monad m => m (((a, b, c) -> m (a, d)) -> m ((a, [b], [c]) -> m (a, [d])))
- template_symb_dollar_ :: Monad m => m ((a -> m b) -> m (a -> m b))
- template_error :: Monad m => m (String -> m a)
- template_snd :: Monad m => m ((a, b) -> m b)

# List operations

template_symb_colon_ :: Monad m => m (a -> m ([a] -> m [a])) Source #

Lifted version of `'(:)' :: a -> [a] -> [a]`

.

template_symb_obracket_symb_cbracket_ :: Monad m => m [a] Source #

Lifted version of `'[]' :: [a]`

.

template_init :: Monad m => m ([a] -> m [a]) Source #

Lifted version of

.`init`

:: [a] -> [a]

template_last :: Monad m => m ([a] -> m a) Source #

Lifted version of

.`last`

:: [a] -> [a]

template_symb_plus_symb_plus_ :: Monad m => m ([a] -> m ([a] -> m [a])) Source #

Lifted version of `'(++)' :: [a] -> [a] -> [a]`

.

template_zip3 :: Monad m => m ([a] -> m ([b] -> m ([c] -> m [(a, b, c)]))) Source #

Lifted version of `zip3`

.

template_foldl :: Monad m => m ((a -> m (b -> m a)) -> m (a -> m ([b] -> m a))) Source #

lifted version of `foldl`

template_reverse :: Monad m => m ([a] -> m [a]) Source #

lifted version of `reverse`

template_zipWith :: Monad m => m ((a -> m (b -> m c)) -> m ([a] -> m ([b] -> m [c]))) Source #

lifted version of `zipWith`

template_fold_right_zip :: Monad m => m (((a, b, c) -> m (a, d)) -> m ((a, [b], [c]) -> m (a, [d]))) Source #

Lifted version of `fold_right_zip`

# Other operations

template_symb_dollar_ :: Monad m => m ((a -> m b) -> m (a -> m b)) Source #

Lifted version of the combinator `$`

.

template_error :: Monad m => m (String -> m a) Source #

template_snd :: Monad m => m ((a, b) -> m b) Source #

Lifted version of `snd`

:: (a,b) -> b